diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2005-03-07 08:54:31 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-03-07 08:54:31 -0800 |
| commit | 691e95cdcd5444ea558b78feb1a27ded302b88b0 (patch) | |
| tree | b44f419f4dfbe4708d6ce2db49336d2d09b349c2 | |
| parent | 5c0e5913ed83a8a85c06bc8c0b6cb3959dc0576b (diff) | |
[PATCH] USB: remove string fetches from the usb-storage core, have them used the cached versions instead.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| -rw-r--r-- | drivers/usb/storage/scsiglue.c | 19 | ||||
| -rw-r--r-- | drivers/usb/storage/usb.c | 31 | ||||
| -rw-r--r-- | drivers/usb/storage/usb.h | 3 |
3 files changed, 16 insertions, 37 deletions
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index a6ba46bd5c07..13200aed4f94 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c @@ -356,9 +356,22 @@ static int proc_info (struct Scsi_Host *hostptr, char *buffer, char **start, off SPRINTF(" Host scsi%d: usb-storage\n", hostptr->host_no); /* print product, vendor, and serial number strings */ - SPRINTF(" Vendor: %s\n", us->vendor); - SPRINTF(" Product: %s\n", us->product); - SPRINTF("Serial Number: %s\n", us->serial); + if (us->pusb_dev->manufacturer) + SPRINTF(" Vendor: %s\n", us->pusb_dev->manufacturer); + else if (us->unusual_dev->vendorName) + SPRINTF(" Vendor: %s\n", us->unusual_dev->vendorName); + else + SPRINTF(" Vendor: Unknown\n"); + if (us->pusb_dev->product) + SPRINTF(" Product: %s\n", us->pusb_dev->product); + else if (us->unusual_dev->productName) + SPRINTF(" Product: %s\n", us->unusual_dev->productName); + else + SPRINTF(" Product: Unknown\n"); + if (us->pusb_dev->serial) + SPRINTF("Serial Number: %s\n", us->pusb_dev->serial); + else + SPRINTF("Serial Number: None\n"); /* show the protocol and transport */ SPRINTF(" Protocol: %s\n", us->protocol_name); diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index bf3cc29c9c5e..f3ebbfdbe0b9 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c @@ -511,37 +511,6 @@ static void get_device_info(struct us_data *us, int id_index) idesc->bInterfaceProtocol, msgs[msg]); } - - /* Read the device's string descriptors */ - if (dev->descriptor.iManufacturer) - usb_string(dev, dev->descriptor.iManufacturer, - us->vendor, sizeof(us->vendor)); - if (dev->descriptor.iProduct) - usb_string(dev, dev->descriptor.iProduct, - us->product, sizeof(us->product)); - if (dev->descriptor.iSerialNumber) - usb_string(dev, dev->descriptor.iSerialNumber, - us->serial, sizeof(us->serial)); - - /* Use the unusual_dev strings if the device didn't provide them */ - if (strlen(us->vendor) == 0) { - if (unusual_dev->vendorName) - strlcpy(us->vendor, unusual_dev->vendorName, - sizeof(us->vendor)); - else - strcpy(us->vendor, "Unknown"); - } - if (strlen(us->product) == 0) { - if (unusual_dev->productName) - strlcpy(us->product, unusual_dev->productName, - sizeof(us->product)); - else - strcpy(us->product, "Unknown"); - } - if (strlen(us->serial) == 0) - strcpy(us->serial, "None"); - - US_DEBUGP("Vendor: %s, Product: %s\n", us->vendor, us->product); } /* Get the transport settings */ diff --git a/drivers/usb/storage/usb.h b/drivers/usb/storage/usb.h index 1fce04f7a165..7ab023af957f 100644 --- a/drivers/usb/storage/usb.h +++ b/drivers/usb/storage/usb.h @@ -122,9 +122,6 @@ struct us_data { unsigned int recv_intr_pipe; /* information about the device */ - char vendor[USB_STOR_STRING_LEN]; - char product[USB_STOR_STRING_LEN]; - char serial[USB_STOR_STRING_LEN]; char *transport_name; char *protocol_name; __le32 bcs_signature; |
