scsi: megaraid_sas: silence a warning

Add a flag to DMA memory allocation to silence a warning.

This driver allocates DMA memory for IO frames. This allocation may exceed
MAX_ORDER pages for few megaraid_sas controllers (controllers with very
high queue depth). Consequently, the driver has logic to keep reducing the
controller queue depth until the DMA memory allocation succeeds.

On impacted megaraid_sas controllers there would be multiple DMA allocation
failures until driver settled on an allocation that fit. These failed DMA
allocation requests caused stack traces in system logs. These were not
harmful and this patch silences those warnings/stack traces.

[mkp: clarified commit desc]

Link: https://lore.kernel.org/r/20200204152413.7107-1-thenzl@redhat.com
Signed-off-by: Tomas Henzl <thenzl@redhat.com>
Acked-by: Sumit Saxena <sumit.saxena@broadcom.com>
Reviewed-by: Lee Duncan <lduncan@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Tomas Henzl 2020-02-04 16:24:13 +01:00 committed by Martin K. Petersen
parent c14335ebb9
commit 0e99b2c625
1 changed files with 3 additions and 2 deletions

View File

@ -623,7 +623,8 @@ retry_alloc:
fusion->io_request_frames = fusion->io_request_frames =
dma_pool_alloc(fusion->io_request_frames_pool, dma_pool_alloc(fusion->io_request_frames_pool,
GFP_KERNEL, &fusion->io_request_frames_phys); GFP_KERNEL | __GFP_NOWARN,
&fusion->io_request_frames_phys);
if (!fusion->io_request_frames) { if (!fusion->io_request_frames) {
if (instance->max_fw_cmds >= (MEGASAS_REDUCE_QD_COUNT * 2)) { if (instance->max_fw_cmds >= (MEGASAS_REDUCE_QD_COUNT * 2)) {
instance->max_fw_cmds -= MEGASAS_REDUCE_QD_COUNT; instance->max_fw_cmds -= MEGASAS_REDUCE_QD_COUNT;
@ -661,7 +662,7 @@ retry_alloc:
fusion->io_request_frames = fusion->io_request_frames =
dma_pool_alloc(fusion->io_request_frames_pool, dma_pool_alloc(fusion->io_request_frames_pool,
GFP_KERNEL, GFP_KERNEL | __GFP_NOWARN,
&fusion->io_request_frames_phys); &fusion->io_request_frames_phys);
if (!fusion->io_request_frames) { if (!fusion->io_request_frames) {