config-tools: board inspector does not exit if a usb device is unplugged
Board inspector may throw an error if a usb device is unplugged or disconnected while extracting usb device information. Print out the debug message and continue parsing. Tracked-On: #8325 Signed-off-by: yuchuyang <yu-chu.yang@intel.com> Reviewed-by: Junjie Mao <junjie.mao@intel.com>
This commit is contained in:
parent
b02f991423
commit
9d8ddeabdc
|
@ -3,7 +3,7 @@
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
|
|
||||||
import os, re
|
import os, re, logging
|
||||||
|
|
||||||
from extractors.helpers import add_child, get_node
|
from extractors.helpers import add_child, get_node
|
||||||
|
|
||||||
|
@ -17,17 +17,20 @@ def extract(args, board_etree):
|
||||||
if m:
|
if m:
|
||||||
d = m.group(0)
|
d = m.group(0)
|
||||||
devpath = os.path.join(USB_DEVICES_PATH, d)
|
devpath = os.path.join(USB_DEVICES_PATH, d)
|
||||||
with open(os.path.join(devpath, 'devnum'), 'r') as f:
|
try:
|
||||||
devnum = f.read().strip()
|
with open(os.path.join(devpath, 'devnum'), 'r') as f:
|
||||||
with open(os.path.join(devpath, 'busnum'), 'r') as f:
|
devnum = f.read().strip()
|
||||||
busnum = f.read().strip()
|
with open(os.path.join(devpath, 'busnum'), 'r') as f:
|
||||||
cmd_out = os.popen('lsusb -s {b}:{d}'.format(b=busnum, d=devnum)).read()
|
busnum = f.read().strip()
|
||||||
desc = cmd_out.split(':', maxsplit=1)[1].strip('\n')
|
cmd_out = os.popen('lsusb -s {b}:{d}'.format(b=busnum, d=devnum)).read()
|
||||||
|
desc = cmd_out.split(':', maxsplit=1)[1].strip('\n')
|
||||||
with open(devpath + '/port/firmware_node/path') as f:
|
|
||||||
acpi_path = f.read().strip()
|
|
||||||
usb_port_node = get_node(board_etree, f"//device[acpi_object='{acpi_path}']")
|
|
||||||
if usb_port_node is not None:
|
|
||||||
add_child(usb_port_node, "usb_device", location=d,
|
|
||||||
description=d + desc)
|
|
||||||
|
|
||||||
|
with open(devpath + '/port/firmware_node/path') as f:
|
||||||
|
acpi_path = f.read().strip()
|
||||||
|
usb_port_node = get_node(board_etree, f"//device[acpi_object='{acpi_path}']")
|
||||||
|
if usb_port_node is not None:
|
||||||
|
add_child(usb_port_node, "usb_device", location=d,
|
||||||
|
description=d + desc)
|
||||||
|
except Exception as e:
|
||||||
|
logging.debug(f"{e}: please check if a USB device has been removed form usb port {d}.")
|
||||||
|
pass
|
||||||
|
|
Loading…
Reference in New Issue