Tejun Heo
f29841e08f
[PATCH] libata: implement ata_scsi_timed_out()
...
Implement ata_scsi_timed_out(), to be used as
scsi_host_template->eh_timed_out callback for all libata drivers.
Without this function, the following race exists.
If a qc completes after SCSI timer expires but before libata EH kicks
in, the qc gets completed but the scsicmd still gets passed to libata
EH resulting in ->eng_timeout invocation with NULL qc, which none is
handling properly.
This patch makes sure that scmd and qc share the same lifetime.
Original idea from Jeff Garzik <jgarzik@pobox.com >.
Signed-off-by: Tejun Heo <htejun@gmail.com >
Signed-off-by: Jeff Garzik <jgarzik@pobox.com >
2006-02-10 06:50:46 -05:00
..
2006-02-07 20:58:50 -05:00
2006-02-01 12:52:23 -05:00
2006-02-02 12:23:12 +00:00
2006-02-07 20:56:35 -05:00
2006-01-20 11:57:07 -08:00
2006-02-04 23:51:28 -08:00
2006-02-04 23:51:28 -08:00
2006-01-18 19:20:24 -08:00
2006-02-01 12:52:25 -05:00
2006-02-03 08:32:00 -08:00
2006-01-24 10:06:19 +01:00
2006-02-03 14:01:05 -08:00
2006-02-07 20:56:35 -05:00
2006-02-07 20:56:35 -05:00
2006-02-01 08:53:11 -08:00
2006-02-08 07:52:58 -08:00
2006-02-03 08:32:09 -08:00
2006-01-18 19:20:29 -08:00
2006-02-01 08:53:17 -08:00
2006-02-01 08:53:09 -08:00
2006-02-01 08:53:13 -08:00
2006-02-06 12:02:14 -08:00
2006-02-03 08:32:07 -08:00
2006-02-03 08:32:12 -08:00
2006-02-01 08:53:13 -08:00
2006-02-08 01:03:52 -05:00
2006-02-07 20:56:35 -05:00
2006-02-03 08:32:09 -08:00
2006-01-24 17:52:48 -05:00
2006-02-01 08:53:13 -08:00
2006-02-10 06:50:46 -05:00
2006-02-03 08:32:02 -08:00
2006-01-18 19:20:18 -08:00
2006-01-18 19:20:17 -08:00
2006-02-07 16:12:33 -08:00
2006-02-01 08:53:15 -08:00
2006-01-18 19:20:29 -08:00
2006-02-07 16:12:34 -08:00
2006-02-07 20:56:35 -05:00
2006-02-03 08:32:05 -08:00
2006-02-08 21:46:24 +00:00
2006-01-31 18:00:11 -08:00
2006-02-05 11:06:52 -08:00
2006-01-18 19:20:30 -08:00
2006-02-01 08:53:13 -08:00
2006-02-03 08:32:08 -08:00
2006-02-03 08:32:09 -08:00
2006-02-05 11:06:52 -08:00
2006-02-01 08:53:25 -08:00
2006-02-01 08:53:25 -08:00
2006-02-01 08:53:25 -08:00
2006-02-01 08:53:16 -08:00
2006-01-18 19:20:29 -08:00
2006-02-03 18:31:33 -08:00
2006-01-21 23:03:28 +00:00
2006-01-21 23:03:28 +00:00
2006-02-01 08:53:18 -08:00
2006-02-07 20:56:35 -05:00
2006-02-07 16:12:33 -08:00
2006-02-01 08:53:17 -08:00
2006-02-01 22:04:33 -08:00
2006-02-01 08:53:16 -08:00
2006-01-31 19:30:25 -08:00
2006-01-18 19:20:17 -08:00
2006-02-03 08:32:09 -08:00
2006-02-03 08:32:09 -08:00
2006-02-01 08:53:13 -08:00
2006-02-03 08:32:04 -08:00
2006-02-03 08:32:05 -08:00
2006-01-31 17:23:44 -08:00
2006-02-08 01:03:39 -05:00