summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-03-07 08:54:31 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2005-03-07 08:54:31 -0800
commit691e95cdcd5444ea558b78feb1a27ded302b88b0 (patch)
treeb44f419f4dfbe4708d6ce2db49336d2d09b349c2
parent5c0e5913ed83a8a85c06bc8c0b6cb3959dc0576b (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.c19
-rw-r--r--drivers/usb/storage/usb.c31
-rw-r--r--drivers/usb/storage/usb.h3
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;