]> git.baikalelectronics.ru Git - kernel.git/commit
[SCSI] mpt2sas: Copy message frame before releasing to free pool to have a local...
authorKashyap, Desai <kashyap.desai@lsi.com>
Thu, 17 Jun 2010 08:20:11 +0000 (13:50 +0530)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 27 Jul 2010 17:02:25 +0000 (12:02 -0500)
commit0a353a684d6a69084bbf6db4e1a4bef607895605
treec2e8bd75ecb706b98551e7b011dcbeac107231f4
parent1389e5bffb65ecd4eff831ac14bc9efbb725004d
[SCSI] mpt2sas: Copy message frame before releasing to free pool to have a local reference.

Current driver is  not clearing the per device tm_busy flag
following the Task Mangement request completion from the IOCTL path.
When this flag is set, the IO queues are frozen.   The reason the flag
didn't get cleared is becuase the driver is referencing
memory associated to the mpi request following the completion, when
the memory had been reallocated for a new request.  When the memory
was reallocated, the driver didn't clear the flag becuase it was
expecting a task managment reqeust, and the reallocated request was
for SCSI_IO.  To fix the problem the driver needs to have a cached
backup copy of the original reqeust.

Signed-off-by: Kashyap Desai <kashyap.desai@lsi.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/mpt2sas/mpt2sas_ctl.c