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

Commit 18b2466c authored by Alan Cox's avatar Alan Cox Committed by Jeff Garzik
Browse files

libata-core: Allow translation setting to fail



On some early drives (pre ATA1) this feature is not supported. If it
fails then we know the drive geometry is the hardware geometry and the
one we tried to set anyway so just carry on.

Signed-off-by: default avatarAlan Cox <alan@redhat.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 2d8348b4
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -3985,6 +3985,11 @@ static unsigned int ata_dev_init_params(struct ata_device *dev,
	tf.device |= (heads - 1) & 0x0f; /* max head = num. of heads - 1 */

	err_mask = ata_exec_internal(dev, &tf, NULL, DMA_NONE, NULL, 0);
	/* A clean abort indicates an original or just out of spec drive
	   and we should continue as we issue the setup based on the
	   drive reported working geometry */
	if (err_mask == AC_ERR_DEV && (tf.feature & ATA_ABORTED))
		err_mask = 0;

	DPRINTK("EXIT, err_mask=%x\n", err_mask);
	return err_mask;