On Wed, Jan 22, 2003 at 08:43:06PM -0800, Greg KH wrote: > On Sun, Jan 19, 2003 at 05:16:02PM -0800, Matthew Dharm wrote: > > This patch goes on top of the last one. It fixes a typo in the test for > > scsi_register() failure. > > With these two patches applied, when plugging in a usb-storage device I > get the following oops. So I've backed the changes out :)
Try this patch on top of the other two. It should fix the OOPS on attach.
This fixes a silly error where I fail to initialize a pointer early enough
for the scanning code. If this isn't a perfect example of why
scsi_register() and scsi_add_host() aren't two separate functions, I don't
know what is. :)
Oh, and I added a couple of comments, too.
Testing and comments are welcome, as always.
Matt
# This is a BitKeeper generated patch for the following project:
# Project Name: greg k-h's linux 2.5 USB kernel tree
# This patch format is intended for GNU patch command version 2.5 or higher.
# This patch includes the following deltas:
# ChangeSet 1.668 -> 1.669
# drivers/usb/storage/usb.c 1.69 -> 1.70
#
# The following is the BitKeeper ChangeSet Log
# --------------------------------------------
# 03/01/25 [EMAIL PROTECTED] 1.669
# Fix an OOPS by moving the setting of the hostdata[] pointer to _before_
# the device scan starts.
# --------------------------------------------
#
diff -Nru a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
--- a/drivers/usb/storage/usb.c Sat Jan 25 10:07:43 2003
+++ b/drivers/usb/storage/usb.c Sat Jan 25 10:07:43 2003
@@ -926,6 +926,12 @@
goto BadDevice;
}
+ /* set the hostdata to prepare for scanning */
+ ss->host->hostdata[0] = (unsigned long)ss;
+
+ /* associate this host with our interface */
+ scsi_set_device(ss->host, &intf->dev);
+
/* now add the host */
result = scsi_add_host(ss->host, NULL);
if (result) {
@@ -941,9 +947,6 @@
down(&ss->dev_semaphore);
goto BadDevice;
}
-
- ss->host->hostdata[0] = (unsigned long)ss;
- scsi_set_device(ss->host, &intf->dev);
printk(KERN_DEBUG
"WARNING: USB Mass Storage data integrity not assured\n");
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
I need a computer?
-- Customer
User Friendly, 2/19/1998
msg11085/pgp00000.pgp
Description: PGP signature
