On Thu, 2019-01-24 at 23:23 -0800, Himanshu Madhani wrote: +AD4 From: Giridhar Malavali +ADw-gmalavali+AEA-marvell.com+AD4 +AD4 +AD4 This patch fixes SRB allocation flag from GFP+AF8-KERNEL to GFP+AF8-ATOMIC, to +AD4 prevent sleeping in IRQ context +AD4 +AD4 Signed-off-by: Giridhar Malavali +ADw-gmalavali+AEA-marvell.com+AD4 +AD4 Signed-off-by: Himanshu Madhani +ADw-hmadhani+AEA-marvell.com+AD4 +AD4 --- +AD4 drivers/scsi/qla2xxx/qla+AF8-init.c +AHw 2 +-- +AD4 1 file changed, 1 insertion(+-), 1 deletion(-) +AD4 +AD4 diff --git a/drivers/scsi/qla2xxx/qla+AF8-init.c b/drivers/scsi/qla2xxx/qla+AF8-init.c +AD4 index aa72e8316533..3bb4fa97e40a 100644 +AD4 --- a/drivers/scsi/qla2xxx/qla+AF8-init.c +AD4 +-+-+- b/drivers/scsi/qla2xxx/qla+AF8-init.c +AD4 +AEAAQA -1829,7 +-1829,7 +AEAAQA qla24xx+AF8-async+AF8-abort+AF8-cmd(srb+AF8-t +ACo-cmd+AF8-sp, bool wait) +AD4 int rval +AD0 QLA+AF8-FUNCTION+AF8-FAILED+ADs +AD4 +AD4 sp +AD0 qla2xxx+AF8-get+AF8-qpair+AF8-sp(cmd+AF8-sp-+AD4-vha, cmd+AF8-sp-+AD4-qpair, cmd+AF8-sp-+AD4-fcport, +AD4 - GFP+AF8-KERNEL)+ADs +AD4 +- GFP+AF8-ATOMIC)+ADs +AD4 if (+ACE-sp) +AD4 goto done+ADs Is this change necessary because this function can be called from inside a timer callback function? Is that callback function qla2x00+AF8-sp+AF8-timeout()? If so, have you considered to modify that function such that it schedules the work it has to do? Would that be sufficient to avoid that GFP+AF8-KERNEL has to be changed into GFP+AF8-ATOMIC in qla24xx+AF8-async+AF8-abort+AF8-cmd()? Thanks, Bart.