aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Christie <[email protected]>2020-08-07 15:23:33 -0500
committerMartin K. Petersen <[email protected]>2020-08-17 21:52:39 -0400
commitfa39ab5184d64563cd36f2fb5f0d3fbad83a432c (patch)
treea4f0356b9471f092e26049b96d864697436cbbdd
parent2138d1c918246e3d8193c3cb8b6d22d0bb888061 (diff)
scsi: fcoe: Fix I/O path allocation
ixgbe_fcoe_ddp_setup() can be called from the main I/O path and is called with a spin_lock held, so we have to use GFP_ATOMIC allocation instead of GFP_KERNEL. Link: https://lore.kernel.org/r/[email protected] cc: Hannes Reinecke <[email protected]> Reviewed-by: Lee Duncan <[email protected]> Signed-off-by: Mike Christie <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
-rw-r--r--drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
index e67b1a59ecb7..0fcd82036d4e 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
@@ -193,7 +193,7 @@ static int ixgbe_fcoe_ddp_setup(struct net_device *netdev, u16 xid,
}
/* alloc the udl from per cpu ddp pool */
- ddp->udl = dma_pool_alloc(ddp_pool->pool, GFP_KERNEL, &ddp->udp);
+ ddp->udl = dma_pool_alloc(ddp_pool->pool, GFP_ATOMIC, &ddp->udp);
if (!ddp->udl) {
e_err(drv, "failed allocated ddp context\n");
goto out_noddp_unmap;