From 2fb4a061e9a0fc6bb4b93d55799490fca6e415a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E4=BD=B3=E4=BC=9F?= Date: Fri, 8 Aug 2025 16:18:49 +0800 Subject: [PATCH] =?UTF-8?q?Description:test50=E8=A1=8C=20IssueNo:https://g?= =?UTF-8?q?itee.com/openharmony/startup=5Finit/issues/ICS2Z0=20Binary=20So?= =?UTF-8?q?urce:No=20Signed-off-by:=20songjiawei9=20?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ueventd/ueventd_device_handler.c | 44 ++++++++++++-------------------- 1 file changed, 16 insertions(+), 28 deletions(-) diff --git a/ueventd/ueventd_device_handler.c b/ueventd/ueventd_device_handler.c index c0f6c795b..a1f50ec71 100644 --- a/ueventd/ueventd_device_handler.c +++ b/ueventd/ueventd_device_handler.c @@ -505,29 +505,6 @@ void HandleBlockDeviceEvent(const struct Uevent *uevent) HandleDeviceNode(uevent, deviceNode, isBlock); } -static int SplitUsbDeviceNode(const struct Uevent *uevent, char *deviceNode) -{ - if (uevent->deviceName != NULL) { - if (snprintf_s(deviceNode, DEVICE_FILE_SIZE, DEVICE_FILE_SIZE - 1, "/dev/%s", uevent->deviceName) == -1) { - INIT_LOGE("Make device file for device [%d : %d]", uevent->major, uevent->minor); - return -1; - } - return 0; - } else { - if (uevent->busNum < 0 || uevent->devNum < 0) { - // usb device should always report bus number and device number. - INIT_LOGE("usb device with invalid bus number or device number"); - return -1; - } - if (snprintf_s(deviceNode, DEVICE_FILE_SIZE, DEVICE_FILE_SIZE - 1, - "/dev/bus/usb/%03d/%03d", uevent->busNum, uevent->devNum) == -1) { - INIT_LOGE("Make usb device node for device [%d : %d]", uevent->busNum, uevent->devNum); - return 0; - } - return 0; - } -} - void HandleOtherDeviceEvent(const struct Uevent *uevent) { if (uevent == NULL || uevent->subsystem == NULL || uevent->syspath == NULL) { @@ -552,17 +529,28 @@ void HandleOtherDeviceEvent(const struct Uevent *uevent) INIT_LOGE("Cannot get device path or device name"); return; } - if (strcmp(devPath, "/dev/input") == 0) { - INIT_LOGI("HandleOtherDeviceEvent, devPath = %s, devName = %s", devPath, devName); - } + INIT_INFO_CHECK(strcmp(devPath, "/dev/input") != 0,,"HandleOtherDeviceEvent, devName = /dev/input/%s", devName); INIT_LOGV("HandleOtherDeviceEvent, devPath = %s, devName = %s", devPath, devName); // For usb devices, should take care of it specially. // if usb devices report DEVNAME, just create device node. // otherwise, create deviceNode with bus number and device number. if (STRINGEQUAL(uevent->subsystem, "usb")) { - if (SplitUsbDeviceNode(uevent, deviceNode) != 0) { - return; + if (uevent->deviceName != NULL) { + if (snprintf_s(deviceNode, DEVICE_FILE_SIZE, DEVICE_FILE_SIZE - 1, "/dev/%s", uevent->deviceName) == -1) { + INIT_LOGE("Make device file for device [%d : %d]", uevent->major, uevent->minor); + return; + } else { + if (uevent->busNum < 0 || uevent->devNum < 0) { + // usb device should always report bus number and device number. + INIT_LOGE("usb device with invalid bus number or device number"); + return; + } + if (snprintf_s(deviceNode, DEVICE_FILE_SIZE, DEVICE_FILE_SIZE - 1, + "/dev/bus/usb/%03d/%03d", uevent->busNum, uevent->devNum) == -1) { + INIT_LOGE("Make usb device node for device [%d : %d]", uevent->busNum, uevent->devNum); + } + } } } else if (STARTSWITH(uevent->subsystem, "usb")) { // Other usb devies, do not handle it. -- Gitee