OSDN Git Service

Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
authorLinus Torvalds <torvalds@linux-foundation.org>
Thu, 4 May 2017 19:19:44 +0000 (12:19 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 4 May 2017 19:19:44 +0000 (12:19 -0700)
Pull SCSI updates from James Bottomley:
 "This update includes the usual round of major driver updates
  (hisi_sas, ufs, fnic, cxlflash, be2iscsi, ipr, stex). There's also the
  usual amount of cosmetic and spelling stuff"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (155 commits)
  scsi: qla4xxx: fix spelling mistake: "Tempalate" -> "Template"
  scsi: stex: make S6flag static
  scsi: mac_esp: fix to pass correct device identity to free_irq()
  scsi: aacraid: pci_alloc_consistent() failures on ARM64
  scsi: ufs: make ufshcd_get_lists_status() register operation obvious
  scsi: ufs: use MASK_EE_STATUS
  scsi: mac_esp: Replace bogus memory barrier with spinlock
  scsi: fcoe: make fcoe_e_d_tov and fcoe_r_a_tov static
  scsi: sd_zbc: Do not write lock zones for reset
  scsi: sd_zbc: Remove superfluous assignments
  scsi: sd: sd_zbc: Rename sd_zbc_setup_write_cmnd
  scsi: Improve scsi_get_sense_info_fld
  scsi: sd: Cleanup sd_done sense data handling
  scsi: sd: Improve sd_completed_bytes
  scsi: sd: Fix function descriptions
  scsi: mpt3sas: remove redundant wmb
  scsi: mpt: Move scsi_remove_host() out of mptscsih_remove_host()
  scsi: sg: reset 'res_in_use' after unlinking reserved array
  scsi: mvumi: remove code handling zero scsi_sg_count(scmd) case
  scsi: fusion: fix spelling mistake: "Persistancy" -> "Persistency"
  ...

27 files changed:
1  2 
MAINTAINERS
drivers/scsi/aacraid/commsup.c
drivers/scsi/hpsa.c
drivers/scsi/ipr.c
drivers/scsi/libiscsi.c
drivers/scsi/lpfc/lpfc_attr.c
drivers/scsi/mac_esp.c
drivers/scsi/mpt3sas/mpt3sas_scsih.c
drivers/scsi/qedi/qedi_debugfs.c
drivers/scsi/qedi/qedi_iscsi.c
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_bsg.c
drivers/scsi/qla2xxx/qla_init.c
drivers/scsi/qla2xxx/qla_isr.c
drivers/scsi/qla2xxx/qla_os.c
drivers/scsi/scsi_error.c
drivers/scsi/scsi_lib.c
drivers/scsi/scsi_priv.h
drivers/scsi/scsi_transport_sas.c
drivers/scsi/sd.c
drivers/scsi/sd.h
drivers/scsi/sd_zbc.c
drivers/scsi/sg.c
drivers/scsi/storvsc_drv.c
drivers/scsi/ufs/ufshcd.c
include/scsi/libiscsi.h
include/scsi/scsi_device.h

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -328,30 -318,28 +318,29 @@@ void sd_zbc_complete(struct scsi_cmnd *
        struct request *rq = cmd->request;
  
        switch (req_op(rq)) {
+       case REQ_OP_ZONE_RESET:
+               if (result &&
+                   sshdr->sense_key == ILLEGAL_REQUEST &&
+                   sshdr->asc == 0x24)
+                       /*
+                        * INVALID FIELD IN CDB error: reset of a conventional
+                        * zone was attempted. Nothing to worry about, so be
+                        * quiet about the error.
+                        */
+                       rq->rq_flags |= RQF_QUIET;
+               break;
        case REQ_OP_WRITE:
 +      case REQ_OP_WRITE_ZEROES:
        case REQ_OP_WRITE_SAME:
-       case REQ_OP_ZONE_RESET:
  
                /* Unlock the zone */
-               sd_zbc_unlock_zone(rq);
+               sd_zbc_write_unlock_zone(cmd);
  
-               if (!result ||
-                   sshdr->sense_key != ILLEGAL_REQUEST)
-                       break;
-               switch (sshdr->asc) {
-               case 0x24:
-                       /*
-                        * INVALID FIELD IN CDB error: For a zone reset,
-                        * this means that a reset of a conventional
-                        * zone was attempted. Nothing to worry about in
-                        * this case, so be quiet about the error.
-                        */
-                       if (req_op(rq) == REQ_OP_ZONE_RESET)
-                               rq->rq_flags |= RQF_QUIET;
-                       break;
-               case 0x21:
+               if (result &&
+                   sshdr->sense_key == ILLEGAL_REQUEST &&
+                   sshdr->asc == 0x21)
                        /*
                         * INVALID ADDRESS FOR WRITE error: It is unlikely that
                         * retrying write requests failed with any kind of
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge