diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-14 13:49:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2016-12-14 13:49:33 -0500 |
commit | a829a8445f09036404060f4d6489cb13433f4304 (patch) | |
tree | 60067e1425239a9f372c10100ede39691c3d612b /drivers/scsi/pmcraid.c | |
parent | 84b6079134420f4635f23c2088a3892057b23bb0 (diff) | |
parent | f5b893c947151d424a4ab55ea3a8544b81974b31 (diff) |
Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley:
"This update includes the usual round of major driver updates (ncr5380,
lpfc, hisi_sas, megaraid_sas, ufs, ibmvscsis, mpt3sas).
There's also an assortment of minor fixes, mostly in error legs or
other not very user visible stuff. The major change is the
pci_alloc_irq_vectors replacement for the old pci_msix_.. calls; this
effectively makes IRQ mapping generic for the drivers and allows
blk_mq to use the information"
* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (256 commits)
scsi: qla4xxx: switch to pci_alloc_irq_vectors
scsi: hisi_sas: support deferred probe for v2 hw
scsi: megaraid_sas: switch to pci_alloc_irq_vectors
scsi: scsi_devinfo: remove synchronous ALUA for NETAPP devices
scsi: be2iscsi: set errno on error path
scsi: be2iscsi: set errno on error path
scsi: hpsa: fallback to use legacy REPORT PHYS command
scsi: scsi_dh_alua: Fix RCU annotations
scsi: hpsa: use %phN for short hex dumps
scsi: hisi_sas: fix free'ing in probe and remove
scsi: isci: switch to pci_alloc_irq_vectors
scsi: ipr: Fix runaway IRQs when falling back from MSI to LSI
scsi: dpt_i2o: double free on error path
scsi: cxlflash: Migrate scsi command pointer to AFU command
scsi: cxlflash: Migrate IOARRIN specific routines to function pointers
scsi: cxlflash: Cleanup queuecommand()
scsi: cxlflash: Cleanup send_tmf()
scsi: cxlflash: Remove AFU command lock
scsi: cxlflash: Wait for active AFU commands to timeout upon tear down
scsi: cxlflash: Remove private command pool
...
Diffstat (limited to 'drivers/scsi/pmcraid.c')
-rw-r--r-- | drivers/scsi/pmcraid.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c index 845affa112f7..337982cf3d63 100644 --- a/drivers/scsi/pmcraid.c +++ b/drivers/scsi/pmcraid.c | |||
@@ -3787,11 +3787,11 @@ static long pmcraid_ioctl_passthrough( | |||
3787 | direction); | 3787 | direction); |
3788 | if (rc) { | 3788 | if (rc) { |
3789 | pmcraid_err("couldn't build passthrough ioadls\n"); | 3789 | pmcraid_err("couldn't build passthrough ioadls\n"); |
3790 | goto out_free_buffer; | 3790 | goto out_free_cmd; |
3791 | } | 3791 | } |
3792 | } else if (request_size < 0) { | 3792 | } else if (request_size < 0) { |
3793 | rc = -EINVAL; | 3793 | rc = -EINVAL; |
3794 | goto out_free_buffer; | 3794 | goto out_free_cmd; |
3795 | } | 3795 | } |
3796 | 3796 | ||
3797 | /* If data is being written into the device, copy the data from user | 3797 | /* If data is being written into the device, copy the data from user |
@@ -3908,6 +3908,8 @@ out_handle_response: | |||
3908 | 3908 | ||
3909 | out_free_sglist: | 3909 | out_free_sglist: |
3910 | pmcraid_release_passthrough_ioadls(cmd, request_size, direction); | 3910 | pmcraid_release_passthrough_ioadls(cmd, request_size, direction); |
3911 | |||
3912 | out_free_cmd: | ||
3911 | pmcraid_return_cmd(cmd); | 3913 | pmcraid_return_cmd(cmd); |
3912 | 3914 | ||
3913 | out_free_buffer: | 3915 | out_free_buffer: |
@@ -6018,8 +6020,10 @@ static int __init pmcraid_init(void) | |||
6018 | 6020 | ||
6019 | error = pmcraid_netlink_init(); | 6021 | error = pmcraid_netlink_init(); |
6020 | 6022 | ||
6021 | if (error) | 6023 | if (error) { |
6024 | class_destroy(pmcraid_class); | ||
6022 | goto out_unreg_chrdev; | 6025 | goto out_unreg_chrdev; |
6026 | } | ||
6023 | 6027 | ||
6024 | error = pci_register_driver(&pmcraid_driver); | 6028 | error = pci_register_driver(&pmcraid_driver); |
6025 | 6029 | ||