Comment 39 for bug 1475166

Revision history for this message
Bryan Quigley (bryanquigley) wrote :

@kashyap-desai thanks for that, it could be a simple firmware reporting issue or the kernel code needs to be updated to handle a new case.
megaraid_sas_base.c [1] mentions that it generates the max_sectors limits from data provided from the firmware.
4096 is defined in a few other places within the driver [2] so I'm guessing other megaraids do support 4096?

Testing on non-powerpc would still be useful as would reverting to a released firmware to see if max_sectors changes or the error changes.

[1] /*
  * Compute the max allowed sectors per IO: The controller info has two
  * limits on max sectors. Driver should use the minimum of these two.
  *
  * 1 << stripe_sz_ops.min = max sectors per strip
  *
  * Note that older firmwares ( < FW ver 30) didn't report information
  * to calculate max_sectors_1. So the number ended up as zero always.
  */
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/megaraid/megaraid_sas_base.c
[2] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/scsi/megaraid.h