On 02/05/2018 01:13 PM, Lee Duncan wrote: > diff --git a/drivers/scsi/libiscsi.c b/drivers/scsi/libiscsi.c > index 82c3fd4bc938..055357b2fe9e 100644 > --- a/drivers/scsi/libiscsi.c > +++ b/drivers/scsi/libiscsi.c > @@ -1248,9 +1248,9 @@ int iscsi_complete_pdu(struct iscsi_conn *conn, struct iscsi_hdr *hdr, > { > int rc; > > - spin_lock(&conn->session->lock); > + spin_lock_bh(&conn->session->lock); > rc = __iscsi_complete_pdu(conn, hdr, data, datalen); > - spin_unlock(&conn->session->lock); > + spin_unlock_bh(&conn->session->lock); > return rc; This one is actually needed because qla4xxx_task_work calls it from process context.