android_kernel_motorola_sm6225/drivers/scsi/megaraid
Sumit.Saxena@avagotech.com db4fc864ae megaraid_sas : Update threshold based reply post host index register
Resending the patch. Addressed the review comments from Tomas Henzl.

Current driver updates reply post host index to let firmware know that replies are processed,
while returning from ISR function, only if there is no oustanding replies in reply queue.

Driver will free the request frame immediately from ISR but reply post host index is not yet updated.
It means freed request can be used by submission path and there may be a tight loop in request/reply
path. In such condition, firmware may crash when it tries to post reply and there is no free
reply post descriptor.

Eventually two things needs to be change to avoid this issue.

Increase reply queue depth (double than request queue) to accommodate worst case scenario.
Update reply post host index to firmware once it reach to some pre-defined threshold value.

This change will make sure that firmware will always have some buffer of reply descriptor and
will never find empty reply descriptor in completion path.

Signed-off-by: Sumit Saxena <sumit.saxena@avagotech.com>
Signed-off-by: Kashyap Desai <kashyap.desai@avagotech.com>
Reviewed-by: Tomas Henzl <thenzl@redhat.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2014-09-16 09:14:23 -07:00
..
Kconfig.megaraid
Makefile [SCSI] megaraid_sas: Add 9565/9285 specific code 2010-12-22 23:26:53 -06:00
mbox_defs.h Fix common misspellings 2011-03-31 11:26:23 -03:00
mega_common.h scsi: use 64-bit LUNs 2014-07-17 22:07:37 +02:00
megaraid_ioctl.h
megaraid_mbox.c scsi: use pci_zalloc_consistent 2014-08-08 15:57:29 -07:00
megaraid_mbox.h
megaraid_mm.c [SCSI] megaraid: missing bounds check in mimd_to_kioc() 2014-03-15 10:19:00 -07:00
megaraid_mm.h
megaraid_sas.h megaraid_sas: Version and Changelog update 2014-09-16 09:09:54 -07:00
megaraid_sas_base.c megaraid_sas : Do not scan non syspd drives 2014-09-16 09:14:22 -07:00
megaraid_sas_fp.c [SCSI] megaraid_sas: Load correct raid context timeout 2014-03-15 10:19:20 -07:00
megaraid_sas_fusion.c megaraid_sas : Update threshold based reply post host index register 2014-09-16 09:14:23 -07:00
megaraid_sas_fusion.h megaraid_sas : Update threshold based reply post host index register 2014-09-16 09:14:23 -07:00