> > The patch is (was, since it's committed :)) okay, but I think there is > > another bug in the REPORT case, where ide_rw_error and > > ide_atapi_io_error are not calling ide_set_inactive and thus are leaving > > s->bus->dma->aiocb non-NULL. > > > > Paolo > > > > Actually, won't we hit ide_dma_error on REPORT which calls > ide_set_inactive? I think this might be OK, but I have to audit a little > more carefully -- I will do so tomorrow. > > I think the ide_rw_error case is likely OK, but I always manage to > forget exactly how the ATAPI DMA looks.
Indeed ide_rw_error is okay because ide_sector_read and ide_sector_write do reset pio_aiocb early enough; ATAPI is wrong because IDE_RETRY_ATAPI does not pass IS_IDE_RETRY_DMA. Paolo