Re: [PATCH libata:upstream] fix atapi_packet_task vs. intr race (take 2)

2005-08-22 Thread Jeff Garzik
applied - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html

Re: [PATCH libata:upstream] fix atapi_packet_task vs. intr race (take 2)

2005-08-22 Thread Tejun Heo
Hello, Jeff. Here's the updated patch. Though I have a question. Why always use spin_lock_irqsave()? To improve maintainability? -- Interrupts from devices sharing the same IRQ could cause ata_host_intr to finish commands being processed by atapi_packet_task if the commands are using ATA_P

Re: [PATCH libata:upstream] fix atapi_packet_task vs. intr race (take 2)

2005-08-22 Thread Jeff Garzik
Tejun Heo wrote: Hello, Jeff. Here's the updated patch. Though I have a question. Why always use Looks OK to me. Have you tested it? :) spin_lock_irqsave()? To improve maintainability? Code is less fragile, since it works regardless of whether the code path even gets moved to a di

Re: [PATCH libata:upstream] fix atapi_packet_task vs. intr race

2005-08-22 Thread Jeff Garzik
Tejun Heo wrote: Interrupts from devices sharing the same IRQ could cause ata_host_intr to finish commands being processed by atapi_packet_task if the commands are using ATA_PROT_ATAPI_NODATA or ATA_PROT_ATAPI_DMA protocol. This is because libata interrupt handler is unaware that interrupts are

Re: [PATCH libata:upstream] fix atapi_packet_task vs. intr race (take 2)

2005-08-22 Thread Tejun Heo
Jeff Garzik wrote: Tejun Heo wrote: Hello, Jeff. Here's the updated patch. Though I have a question. Why always use Looks OK to me. Have you tested it? :) Yes, I've tested both normal and error cases. I don't get assertion failures anymore with ongoing disk traffic. Thanks.

[PATCH libata:upstream] fix atapi_packet_task vs. intr race

2005-08-22 Thread Tejun Heo
Interrupts from devices sharing the same IRQ could cause ata_host_intr to finish commands being processed by atapi_packet_task if the commands are using ATA_PROT_ATAPI_NODATA or ATA_PROT_ATAPI_DMA protocol. This is because libata interrupt handler is unaware that interrupts are not expected durin