summaryrefslogtreecommitdiff
path: root/include/linux/backing-dev.h
diff options
context:
space:
mode:
authorAlbert Lee <albertcc@tw.ibm.com>2004-12-27 05:24:53 -0500
committerJeff Garzik <jgarzik@pobox.com>2004-12-27 05:24:53 -0500
commit623b57b30106cbc5755aa1e622f1806b3c8dd7a9 (patch)
tree596e501f1b956e64d96c53d7be0bb04990e3d606 /include/linux/backing-dev.h
parent652f8d65e5a9a6acb345aff592afaad03c5dd839 (diff)
[libata] PIO error handling improvement
Tested burning CD-RW with libata-dev-2.6 and cdrecord: 1. ATAPI DMA mode - tested OK 2. ATAPI PIO mode - test failed when cdrecord finishes burning and issues MODE_SELECT to the device. After checking the log, it showed that MODE_SELECT caused ata_pio_complete() to return error. However, the error is not handled by ata_pio_task(). Attached please find the patch for ata_pio_task() error handling for your review. (The patch is against the libata-dev-2.6 tree. ) Changes in the patch: 1. End the PIO task when PIO_ST_IDLE state is entered 2. End the PIO task after PIO_ST_TMOUT and PIO_ST_ERR state handled by ata_pio_error() 3. Remove the first "if" statement to handle the error condition returned from ata_pio_block(), ata_pio_complete() and ata_pio_poll(). Change #2 is not so necessary since ata_pio_error() will put the cmd to PIO_ST_IDLE state after the error condition is handled. The change just saves a function call to queue_work(). Tested OK on on my machine with pdc20275 and ASUS CD-RW drive. Signed-off-by: Albert Lee <albertcc@tw.ibm.com>
Diffstat (limited to 'include/linux/backing-dev.h')
0 files changed, 0 insertions, 0 deletions