• Jeff Garzik's avatar
    [libata] fix PIO completion race · 7fb6ec28
    Jeff Garzik authored
    Make sure we that completion is the final action we take; prior to this
    change, another CPU may have changed ap->pio_task_state before we tested
    it a final time.
    
    Spotted by, and original patch by Albert Lee @ IBM.
    
    Also includes a minor optimization:  eliminate a ton of unnecessary
    queue_work() calls, simply by jumping to the beginning of the FSM
    function ata_pio_task().
    7fb6ec28
libata-core.c 109 KB