Re: sd_mod or usb-storage fails to read a single good block (was: ehci_hcd fails to read a single good block)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


On Tue, 3 Apr 2012, Norman Diamond wrote:

> >> Wrong.� We CAN try to read the last block that the bridge says exists, to see if it really exists or not.� (Well, only partly wrong.� Maybe there really are some bridges that crash in that situation, but mine doesn't, and a broken driver still needs fixing.)
> > 
> > Yes, there really are such bridges.� You can find reports from people complaining about them in the email archives.
> 
> Wait.  Is there a bridge which overreports the last sector number by 1, and which ALSO crashes when the host PC tries to read that supposed last sector number?

Yes.  Like I said before, you can find complaints about these things in 
the mailing list archives.  However it's not clear whether the crashing 
is the fault of the bridge itself or the drive it is attached to.

>  If so then we need a quirk for that doubly broken bridge.

That's what the existing quirk entries are there for.

> But otherwise, we can try to read the supposedly last sector number and figure out whether we have to subtract 1.

True enough, but we don't have any way to know which bridges do crash
and which don't other than trying it.  And you'll probably agree that
trial and error is not such a good idea in the cases where the bridge
does crash.

In the end, this gives us very little choice but to rely on the static 
quirk entries.

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


B and H Foto and Electronics Corp.

[Linux Media]     [Video for Linux]     [Linux Input]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]     [More Archives]

Add to Google Powered by Linux