James/Linux-scsi, The following patch for megaraid_sas fixes the max_sectors setting for IEEE SGL's. Signed-off-by: Adam Radford <aradford@xxxxxxxxx> diff -Naur linux-2.6.38-rc5/drivers/scsi/megaraid/megaraid_sas_base.c linux-2.6.38-rc5.new/drivers/scsi/megaraid/megaraid_sas_base.c --- linux-2.6.38-rc5/drivers/scsi/megaraid/megaraid_sas_base.c 2011-02-19 14:25:55.899395046 -0800 +++ linux-2.6.38-rc5.new/drivers/scsi/megaraid/megaraid_sas_base.c 2011-02-19 14:27:36.563207670 -0800 @@ -3825,6 +3825,10 @@ instance->max_fw_cmds - MEGASAS_INT_CMDS; host->this_id = instance->init_id; host->sg_tablesize = instance->max_num_sge; + + if (instance->fw_support_ieee) + instance->max_sectors_per_req = MEGASAS_MAX_SECTORS_IEEE; + /* * Check if the module parameter value for max_sectors can be used */ diff -Naur linux-2.6.38-rc5/drivers/scsi/megaraid/megaraid_sas.h linux-2.6.38-rc5.new/drivers/scsi/megaraid/megaraid_sas.h --- linux-2.6.38-rc5/drivers/scsi/megaraid/megaraid_sas.h 2011-02-19 14:04:58.919332498 -0800 +++ linux-2.6.38-rc5.new/drivers/scsi/megaraid/megaraid_sas.h 2011-02-19 14:28:04.113364498 -0800 @@ -723,6 +723,7 @@ MEGASAS_MAX_DEV_PER_CHANNEL) #define MEGASAS_MAX_SECTORS (2*1024) +#define MEGASAS_MAX_SECTORS_IEEE (2*128) #define MEGASAS_DBG_LVL 1 #define MEGASAS_FW_BUSY 1
Attachment:
megaraid_sas.patch13
Description: Binary data