2.6.30.git: USB storage (usbstick) automount woes - bisected

From: Mike Galbraith
Date: Thu Apr 09 2009 - 05:27:27 EST


Greetings,

Plugging a USB stick after the first big .30 pull (8e0ee43..c31f403) no
longer detects/automounts on my opensuse 11.0 x86_64 box. Bisection
fingered e6e244b6cb1f70e7109381626293cd40a8334ed3.

After e6e244b, everything below HERE: of working kernel is AWOL.

[ 87.748010] usb 7-4: new high speed USB device using ehci_hcd and address 6
[ 87.887149] usb 7-4: New USB device found, idVendor=090c, idProduct=1000
[ 87.893846] usb 7-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 87.900974] usb 7-4: Product: USB DISK
[ 87.904726] usb 7-4: Manufacturer: SMI Corporation
[ 87.909512] usb 7-4: SerialNumber: AA04012700007623
[ 87.914973] usb 7-4: configuration #1 chosen from 1 choice
HERE:
[ 87.920985] scsi7 : SCSI emulation for USB Mass Storage devices
[ 87.927320] usb-storage: device found at 6
[ 87.927324] usb-storage: waiting for device to settle before scanning
[ 92.924244] usb-storage: device scan complete
[ 92.925359] scsi 7:0:0:0: Direct-Access USB Flash Disk 1100 PQ: 0 ANSI: 0 CCS
[ 92.935841] sd 7:0:0:0: [sdf] 7928832 512-byte hardware sectors: (4.05 GB/3.78 GiB)
[ 92.944465] sd 7:0:0:0: [sdf] Write Protect is off
[ 92.949253] sd 7:0:0:0: [sdf] Mode Sense: 43 00 00 00
[ 92.949260] sd 7:0:0:0: [sdf] Assuming drive cache: write through
[ 92.957337] sd 7:0:0:0: [sdf] 7928832 512-byte hardware sectors: (4.05 GB/3.78 GiB)
[ 92.965837] sd 7:0:0:0: [sdf] Write Protect is off
[ 92.970627] sd 7:0:0:0: [sdf] Mode Sense: 43 00 00 00
[ 92.970634] sd 7:0:0:0: [sdf] Assuming drive cache: write through
[ 92.976910] sdf: sdf1
[ 93.161997] sd 7:0:0:0: [sdf] Attached SCSI removable disk
[ 93.167592] sd 7:0:0:0: Attached scsi generic sg6 type 0
[ 507.145058] usb 7-4: USB disconnect, address 6

e6e244b6cb1f70e7109381626293cd40a8334ed3 is first bad commit
commit e6e244b6cb1f70e7109381626293cd40a8334ed3
Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
Date: Thu Feb 12 14:47:44 2009 -0500

usb-storage: prepare for subdriver separation

This patch (as1206) is the first step in converting usb-storage's
subdrivers into separate modules. It makes the following large-scale
changes:

Remove a bunch of unnecessary #ifdef's from usb_usual.h.
Not truly necessary, but it does clean things up.

Move the USB device-ID table (which is duplicated between
libusual and usb-storage) into its own source file,
usual-tables.c, and arrange for this to be linked with
either libusual or usb-storage according to whether
USB_LIBUSUAL is configured.

Add to usual-tables.c a new usb_usual_ignore_device()
function to detect whether a particular device needs to be
managed by a subdriver and not by the standard handlers
in usb-storage.

Export a whole bunch of functions in usb-storage, renaming
some of them because their names don't already begin with
"usb_stor_". These functions will be needed by the new
subdriver modules.

Split usb-storage's probe routine into two functions.
The subdrivers will call the probe1 routine, then fill in
their transport and protocol settings, and then call the
probe2 routine.

Take the default cases and error checking out of
get_transport() and get_protocol(), which run during
probe1, and instead put a check for invalid transport
or protocol values into the probe2 function.

Add a new probe routine to be used for standard devices,
i.e., those that don't need a subdriver. This new routine
checks whether the device should be ignored (because it
should be handled by ub or by a subdriver), and if not,
calls the probe1 and probe2 functions.

Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
CC: Matthew Dharm <mdharm-usb@xxxxxxxxxxxxxxxxxx>
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxx>

:040000 040000 8b50041c5bc06a835bfcecdd68e29d5f608db061 587abdf10b544e3ac3ef171ac2456f1579d73326 M drivers
:040000 040000 d46f26aaafca52955e6f2c5cb5862793c1ff4782 7993f9688526aa7b0c4a41a069d52dec97422aec M include

git bisect start
# good: [8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84] Linux 2.6.29
git bisect good 8e0ee43bc2c3e19db56a4adaa9a9b04ce885cd84
# bad: [c31f403de62415c738ddc9e673cf8e722c82f861] Merge branch 'futexes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
git bisect bad c31f403de62415c738ddc9e673cf8e722c82f861
# bad: [08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6] Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
git bisect bad 08abe18af1f78ee80c3c3a5ac47c3e0ae0beadf6
# good: [1339b9e975902dcb8ef81ace678cfb6626d4bf3f] ixgbe: Fix get_supported_physical_layer() due to new 82599 PHY types
git bisect good 1339b9e975902dcb8ef81ace678cfb6626d4bf3f
# good: [8ff64b539bfd998792614481ccb67139b97075ef] Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw
git bisect good 8ff64b539bfd998792614481ccb67139b97075ef
# good: [ede5ad0e29b641c3d3a644272a9127bfd98dfcc8] net: core: remove unneeded include in net/core/utils.c.
git bisect good ede5ad0e29b641c3d3a644272a9127bfd98dfcc8
# good: [bc2fd381d8f9dbeb181f82286cdca1567e3d0def] Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
git bisect good bc2fd381d8f9dbeb181f82286cdca1567e3d0def
# bad: [fd8345f8dea93691b0ceba55146088d8c05415f6] USB: qcserial: add device id for HP devices
git bisect bad fd8345f8dea93691b0ceba55146088d8c05415f6
# bad: [e6e244b6cb1f70e7109381626293cd40a8334ed3] usb-storage: prepare for subdriver separation
git bisect bad e6e244b6cb1f70e7109381626293cd40a8334ed3
# good: [d55c0ae6b243bb8e247259089b3a2e47ebfabdf6] USB: serial generic resume function fix
git bisect good d55c0ae6b243bb8e247259089b3a2e47ebfabdf6
# good: [b967c88ed1b48bc353ea83e0cacb2249a3bb1a51] usb: kill prehistorical comments about USB_EHCI_HCD
git bisect good b967c88ed1b48bc353ea83e0cacb2249a3bb1a51
# good: [68b44eaed5def7b6490c23c3e88c6f2ccec57beb] USB: serial: add symbol serial driver
git bisect good 68b44eaed5def7b6490c23c3e88c6f2ccec57beb
# good: [551509d267905705f6d723e51ec706916f06b859] USB: replace uses of __constant_{endian}
git bisect good 551509d267905705f6d723e51ec706916f06b859
# good: [e4abe6658aa17a5d7e7321dfda807d287255511b] usb-serial: fix usb_serial_register bug when boot with nousb param
git bisect good e4abe6658aa17a5d7e7321dfda807d287255511b

Attachment: config.gz
Description: GNU Zip compressed data