• Richard Zhu's avatar
    MLK-11444 ata: imx: cmd buf corruption errata bug fix · 634a28ba
    Richard Zhu authored
    errata:
    When a read command returns less data than specified in the PRDs (for
    example, there are two PRDs for this command, but the device returns a
    number of bytes which is less than in the first PRD), the second PRD of
    this command is  not read out of the PRD FIFO, causing the next command
    to use this PRD erroneously.
    
    workaround
    - forces sg_tablesize = 1
    - modified the sg_io function in block/scsi_ioctl.c to use a 64k buffer
      allocated with dma_alloc_coherent during the probe in ahci_imx
    - In order to fix the scsi/sata hang, when CD_ROM and HDD are
      accessed simultaneously after the workaround is applied.
      Do not go to sleep in scsi_eh_handler, when there is host failed.
    Signed-off-by: default avatarRichard Zhu <Richard.Zhu@freescale.com>
    634a28ba