diff options
| author | sakumisu <[email protected]> | 2022-05-22 17:09:47 +0800 |
|---|---|---|
| committer | sakumisu <[email protected]> | 2022-05-22 17:09:47 +0800 |
| commit | 56364f29036813ec698e4e93abd0f27db2b4e5cf (patch) | |
| tree | ed147e38fe476967a418bec61bf09606a9f54a94 /class/printer | |
| parent | 16262f057520ed1e64fd50cbfe6e861bb4268853 (diff) | |
alloc class name after the necessary commands are completed
Diffstat (limited to 'class/printer')
| -rw-r--r-- | class/printer/usbh_printer.c | 10 |
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; } |
