[Bug 20382] New: PCMCIA D-Link (O2-Micro) USB 2.0 adapter - drives not mounting - mount freezes

bugzilla-daemon at bugzilla.kernel.org bugzilla-daemon at bugzilla.kernel.org
Thu Oct 14 15:54:21 EDT 2010


https://bugzilla.kernel.org/show_bug.cgi?id=20382

           Summary: PCMCIA D-Link (O2-Micro) USB 2.0 adapter - drives not
                    mounting - mount freezes
           Product: Drivers
           Version: 2.5
    Kernel Version: 2.6.32 and higher
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: high
          Priority: P1
         Component: PCMCIA
        AssignedTo: linux-pcmcia at lists.infradead.org
        ReportedBy: david.bluecame at gmail.com
        Regression: No


Created an attachment (id=33662)
 --> (https://bugzilla.kernel.org/attachment.cgi?id=33662)
HardInfo HTML report

I have a laptop with USB1 only ports, so I installed a D-link PCMCIA adapter
with 2xUSB2.0 ports. Everything went well until kernel 2.6.31 inclusive.

When I upgraded to 2.6.32, after the upgrade I could not mount any USB2.0 drive
via the PCMCIA adapter. Mount operation froze and I could not even kill the
mount process. The problem happens with any USB2.0 drive, from 1.5TB external
hard drive to simple USB2.0 flash drives.

Upgrading to newer versions has not helped. I tried from 2.6.32.24 to 2.6.35.7
with no success, so I tried to discover what happened.

After a lot of investigation, I found the problem in the
drivers/pcmcia/o2micro.h file. That file was modified from version 2.6.31 to
2.6.32, adding the device number 6933 to the list of "old bridges" which should
have read prefetch and write bursting disabled:

(from o2micro.h)
                /*
                 * older bridges have problems with both read prefetch and
write
                 * bursting depending on the combination of the chipset, bridge
                 * and the cardbus card. so disable them to be on the safe
side.
                 */
                case PCI_DEVICE_ID_O2_6729:
                case PCI_DEVICE_ID_O2_6730:
                case PCI_DEVICE_ID_O2_6812:
                case PCI_DEVICE_ID_O2_6832:
                case PCI_DEVICE_ID_O2_6836:
This caused the problem ---> case PCI_DEVICE_ID_O2_6933:

Precisely, my device is the 6933 and it began to give me trouble when that line
was added. If I remove that line and recompile the kernel, everything goes well
in kernels 2.6.32.24 and 2.6.35.7, for example.



More information about the linux-pcmcia mailing list