338b131a32
If the specified max_queue_depth setting is less than the expected number of internal commands, then driver will calculate the queue depth size to a negitive number. This negitive number is actually a very large number because variable is unsigned 16bit integer. So, the driver will ask for a very large amount of memory for message frames and resulting into oops as memory allocation routines will not able to handle such a large request. So, in order to limit this kind of oops, The driver need to set the max_queue_depth to a scsi mid layer's can_queue value. Then the overall message frames required for IO is minimum of either (max_queue_depth plus internal commands) or the IOC global credits. Signed-off-by: Sreekanth Reddy <sreekanth.reddy@lsi.com> Cc: <stable@kernel.org> Signed-off-by: James Bottomley <JBottomley@Parallels.com> |
||
---|---|---|
.. | ||
mpi | ||
Kconfig | ||
Makefile | ||
mpt2sas_base.c | ||
mpt2sas_base.h | ||
mpt2sas_config.c | ||
mpt2sas_ctl.c | ||
mpt2sas_ctl.h | ||
mpt2sas_debug.h | ||
mpt2sas_scsih.c | ||
mpt2sas_transport.c |