Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c18c4d2 authored by David Daney's avatar David Daney Committed by Jeff Garzik
Browse files

libata: Add special ata_pio_need_iordy() handling for Compact Flash.



According to the Compact Flash specification r4.1, PIO modes 5 and 6
do not use iordy.

Signed-off-by: default avatarDavid Daney <ddaney@caviumnetworks.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
parent 78a7ba47
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2001,6 +2001,10 @@ unsigned int ata_pio_need_iordy(const struct ata_device *adev)
	   as the caller should know this */
	if (adev->link->ap->flags & ATA_FLAG_NO_IORDY)
		return 0;
	/* CF spec. r4.1 Table 22 says no iordy on PIO5 and PIO6.  */
	if (ata_id_is_cfa(adev->id)
	    && (adev->pio_mode == XFER_PIO_5 || adev->pio_mode == XFER_PIO_6))
		return 0;
	/* PIO3 and higher it is mandatory */
	if (adev->pio_mode > XFER_PIO_2)
		return 1;