Re: libata fails to recover from HSM violation involving DRQ status

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

 



> I am reluctant to do anything about this.

This one does need dealing with. It happens in the real world and the old
IDE paths for this do get triggered and used now and then (we know this
because bugs in them were found). All it takes is a device and a
controller disagreeing about the length of a data transfer to get in a
mess. In theory resetting the bus should get you out of this, I'm
suprised we didn't get out that way.

> All manner of things can go wrong, if the taskfile protocol specified 
> disagrees with the taskfile contents.

True but at the point you are trying to do error recovery and DRQ is
wedged on its a good idea to pull remaining data out of the fifo. 

> At that point you are in undefined territory, since libata will happily 
> ARM a DMA controller or otherwise program controller registers in 
> preparation for the requested taskfile protocol.  Data corruption, hard 
> locks, anything could happen at that point.

SG_IO and other userspace interfaces can mean we issue a command that
ends up causing variants of this kind of confusion.

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

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux