mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
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: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
This commit is contained in:
parent
2d8348b429
commit
18b2466c30
1 changed files with 5 additions and 0 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue