summaryrefslogtreecommitdiff
path: root/class/printer
diff options
context:
space:
mode:
authorsakumisu <[email protected]>2022-05-22 17:09:47 +0800
committersakumisu <[email protected]>2022-05-22 17:09:47 +0800
commit56364f29036813ec698e4e93abd0f27db2b4e5cf (patch)
treeed147e38fe476967a418bec61bf09606a9f54a94 /class/printer
parent16262f057520ed1e64fd50cbfe6e861bb4268853 (diff)
alloc class name after the necessary commands are completed
Diffstat (limited to 'class/printer')
-rw-r--r--class/printer/usbh_printer.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/class/printer/usbh_printer.c b/class/printer/usbh_printer.c
index b64da8d8..87f783a7 100644
--- a/class/printer/usbh_printer.c
+++ b/class/printer/usbh_printer.c
@@ -85,7 +85,6 @@ static int usbh_printer_connect(struct usbh_hubport *hport, uint8_t intf)
printer_class->intf = intf;
hport->config.intf[intf].priv = printer_class;
- strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
for (uint8_t i = 0; i < hport->config.intf[intf + 1].intf_desc.bNumEndpoints; i++) {
ep_desc = &hport->config.intf[intf + 1].ep[i].ep_desc;
@@ -104,6 +103,10 @@ static int usbh_printer_connect(struct usbh_hubport *hport, uint8_t intf)
// uint8_t *device_id = usb_iomalloc(256);
// ret = usbh_printer_get_device_id(printer_class, device_id);
+ strncpy(hport->config.intf[intf].devname, DEV_FORMAT, CONFIG_USBHOST_DEV_NAMELEN);
+
+ USB_LOG_INFO("Register Printer Class:%s\r\n", hport->config.intf[intf].devname);
+
return ret;
}
@@ -130,9 +133,10 @@ static int usbh_printer_disconnect(struct usbh_hubport *hport, uint8_t intf)
usb_free(printer_class);
- USB_LOG_INFO("Unregister Printer Class:%s\r\n", hport->config.intf[intf].devname);
- memset(hport->config.intf[intf].devname, 0, CONFIG_USBHOST_DEV_NAMELEN);
+ if (hport->config.intf[intf].devname[0] != '\0')
+ USB_LOG_INFO("Unregister Printer Class:%s\r\n", hport->config.intf[intf].devname);
+ memset(hport->config.intf[intf].devname, 0, CONFIG_USBHOST_DEV_NAMELEN);
hport->config.intf[intf].priv = NULL;
}