Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI fixes from James Bottomley:
"The major fix is the bfa firmware, since the latest 10Gb cards fail
probing with the current firmware.

The rest is a set of minor fixes: one missed Kconfig dependency
causing randconfig failures, a missed error return on an error leg, a
change for how multiqueue waits on a blocked device and a don't reset
while in reset fix"

* tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
scsi: bfa: Increase requested firmware version to 3.2.5.1
scsi: snic: Return error code on memory allocation failure
scsi: fnic: Avoid sending reset to firmware when another reset is in progress
scsi: qedi: fix build, depends on UIO
scsi: scsi-mq: Wait for .queue_rq() if necessary

+26 -6
+3 -3
drivers/scsi/bfa/bfad.c
··· 64 64 u32 bfi_image_cb_size, bfi_image_ct_size, bfi_image_ct2_size; 65 65 u32 *bfi_image_cb, *bfi_image_ct, *bfi_image_ct2; 66 66 67 - #define BFAD_FW_FILE_CB "cbfw-3.2.3.0.bin" 68 - #define BFAD_FW_FILE_CT "ctfw-3.2.3.0.bin" 69 - #define BFAD_FW_FILE_CT2 "ct2fw-3.2.3.0.bin" 67 + #define BFAD_FW_FILE_CB "cbfw-3.2.5.1.bin" 68 + #define BFAD_FW_FILE_CT "ctfw-3.2.5.1.bin" 69 + #define BFAD_FW_FILE_CT2 "ct2fw-3.2.5.1.bin" 70 70 71 71 static u32 *bfad_load_fwimg(struct pci_dev *pdev); 72 72 static void bfad_free_fwimg(void);
+1 -1
drivers/scsi/bfa/bfad_drv.h
··· 58 58 #ifdef BFA_DRIVER_VERSION 59 59 #define BFAD_DRIVER_VERSION BFA_DRIVER_VERSION 60 60 #else 61 - #define BFAD_DRIVER_VERSION "3.2.25.0" 61 + #define BFAD_DRIVER_VERSION "3.2.25.1" 62 62 #endif 63 63 64 64 #define BFAD_PROTO_NAME FCPI_NAME
+1
drivers/scsi/fnic/fnic.h
··· 248 248 struct completion *remove_wait; /* device remove thread blocks */ 249 249 250 250 atomic_t in_flight; /* io counter */ 251 + bool internal_reset_inprogress; 251 252 u32 _reserved; /* fill hole */ 252 253 unsigned long state_flags; /* protected by host lock */ 253 254 enum fnic_state state;
+16
drivers/scsi/fnic/fnic_scsi.c
··· 2581 2581 unsigned long wait_host_tmo; 2582 2582 struct Scsi_Host *shost = sc->device->host; 2583 2583 struct fc_lport *lp = shost_priv(shost); 2584 + struct fnic *fnic = lport_priv(lp); 2585 + unsigned long flags; 2586 + 2587 + spin_lock_irqsave(&fnic->fnic_lock, flags); 2588 + if (fnic->internal_reset_inprogress == 0) { 2589 + fnic->internal_reset_inprogress = 1; 2590 + } else { 2591 + spin_unlock_irqrestore(&fnic->fnic_lock, flags); 2592 + FNIC_SCSI_DBG(KERN_DEBUG, fnic->lport->host, 2593 + "host reset in progress skipping another host reset\n"); 2594 + return SUCCESS; 2595 + } 2596 + spin_unlock_irqrestore(&fnic->fnic_lock, flags); 2584 2597 2585 2598 /* 2586 2599 * If fnic_reset is successful, wait for fabric login to complete ··· 2614 2601 } 2615 2602 } 2616 2603 2604 + spin_lock_irqsave(&fnic->fnic_lock, flags); 2605 + fnic->internal_reset_inprogress = 0; 2606 + spin_unlock_irqrestore(&fnic->fnic_lock, flags); 2617 2607 return ret; 2618 2608 } 2619 2609
+1 -1
drivers/scsi/qedi/Kconfig
··· 1 1 config QEDI 2 2 tristate "QLogic QEDI 25/40/100Gb iSCSI Initiator Driver Support" 3 - depends on PCI && SCSI 3 + depends on PCI && SCSI && UIO 4 4 depends on QED 5 5 select SCSI_ISCSI_ATTRS 6 6 select QED_LL2
+1 -1
drivers/scsi/scsi_lib.c
··· 2893 2893 * request queue. 2894 2894 */ 2895 2895 if (q->mq_ops) { 2896 - blk_mq_stop_hw_queues(q); 2896 + blk_mq_quiesce_queue(q); 2897 2897 } else { 2898 2898 spin_lock_irqsave(q->queue_lock, flags); 2899 2899 blk_stop_queue(q);
+3
drivers/scsi/snic/snic_main.c
··· 591 591 if (!pool) { 592 592 SNIC_HOST_ERR(shost, "dflt sgl pool creation failed\n"); 593 593 594 + ret = -ENOMEM; 594 595 goto err_free_res; 595 596 } 596 597 ··· 602 601 if (!pool) { 603 602 SNIC_HOST_ERR(shost, "max sgl pool creation failed\n"); 604 603 604 + ret = -ENOMEM; 605 605 goto err_free_dflt_sgl_pool; 606 606 } 607 607 ··· 613 611 if (!pool) { 614 612 SNIC_HOST_ERR(shost, "snic tmreq info pool creation failed.\n"); 615 613 614 + ret = -ENOMEM; 616 615 goto err_free_max_sgl_pool; 617 616 } 618 617