Bug 7711
Summary: | pata_pcmcia fails to access CF card | ||
---|---|---|---|
Product: | IO/Storage | Reporter: | Wilfried Klaebe (linux-kernel) |
Component: | Serial ATA | Assignee: | Alan (alan) |
Status: | CLOSED CODE_FIX | ||
Severity: | normal | CC: | alan, arnd, bunk, linux |
Priority: | P2 | ||
Hardware: | i386 | ||
OS: | Linux | ||
Kernel Version: | 2.6.19.1 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
libata: add a dummy set_mode() in pata_pcmcia
same patch, proper s-o-b Alternative patch introducing "can fail quietly" command handling |
Description
Wilfried Klaebe
2006-12-19 01:10:50 UTC
Created attachment 10203 [details] libata: add a dummy set_mode() in pata_pcmcia CompactFlash cards in a passive PCMCIA adapter don't seem to like the ATA_CMD_SET_FEATURES command, which causes libata device probing to fail. Since PCMCIA only allows PIO mode 0 anyway, there is no point in ever setting a higher speed. Adding the dummy function seems to do the right thing. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Comment on attachment 10203 [details]
libata: add a dummy set_mode() in pata_pcmcia
Signed off with wrong address
Created attachment 10204 [details] same patch, proper s-o-b Subject: libata: add a dummy set_mode() in pata_pcmcia CompactFlash cards in a passive PCMCIA adapter don't seem to like the ATA_CMD_SET_FEATURES command, which causes libata device probing to fail. Since PCMCIA only allows PIO mode 0 anyway, there is no point in ever setting a higher speed. Adding the dummy function seems to do the right thing. Signed-off-by: Arnd Bergmann <arnd@arndb.de> NAK I have a better patch waiting in my tree for further testing. The underlying problem that some CF devices do not understand set xfer mode, applies for 1.x version cards even in trueide mode so the work around we need is more tricky. The patch I'm testing does the following - Add a taskfile flag to say "dont report errors on this one" (which we need anyway) - Allow set_xfer_mode to fail silently for PIO modes on CFA devices only I'll attach a patch for comment. Created attachment 10205 [details]
Alternative patch introducing "can fail quietly" command handling
We'll also need this for HPA handling.
What about real PCMCIA storage cards that are not CF? Do you know if they might also need an exception like this? Your patch only checks for ata_id_is_cfa(), so if there are PCMCIA cards with the same problem, we might need both patches (or another variant thereof). The ATA standard makes set features/xfer rate mandatory. The CFA 1.x standard does not include it although CFA3 and CFA4 do. Any device claiming to be ATA that does not support set features appears to be broken, and I've yet to encounter one although it wouldn't suprise me. The PCMCIA hard disks I have accept set-features/xfer-rate. Alan |