Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
Pull SCSI updates from James Bottomley: "This patch set consists of the usual driver updates (ufs, storvsc, pm8001 hpsa). It also has removal of the user space target driver code (everyone is using LIO now), a partial PCI MSI-X update, more multi-queue updates, conversion to 64 bit LUNs (so we could theoretically cope with any LUN returned by a device) and placeholder support for the ZBC device type (Shingle drives), plus an assortment of minor updates and bug fixes" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (143 commits) scsi: do not issue SCSI RSOC command to Promise Vtrak E610f vmw_pvscsi: Use pci_enable_msix_exact() instead of pci_enable_msix() pm8001: Fix invalid return when request_irq() failed lpfc: Remove superfluous call to pci_disable_msix() isci: Use pci_enable_msix_exact() instead of pci_enable_msix() bfa: Use pci_enable_msix_exact() instead of pci_enable_msix() bfa: Cleanup bfad_setup_intr() function bfa: Do not call pci_enable_msix() after it failed once fnic: Use pci_enable_msix_exact() instead of pci_enable_msix() scsi: use short driver name for per-driver cmd slab caches scsi_debug: support scsi-mq, queues and locks Drivers: add blist flags scsi: ufs: fix endianness sparse warnings scsi: ufs: make undeclared functions static bnx2i: Update driver version to 2.7.10.1 pm8001: fix a memory leak in nvmd_resp pm8001: fix update_flash pm8001: fix a memory leak in flash_update pm8001: Cleaning up uninitialized variables pm8001: Fix to remove null pointer checks that could never happen ...
此提交包含在:
@@ -18,9 +18,7 @@ config USB_STORAGE
|
||||
|
||||
This option depends on 'SCSI' support being enabled, but you
|
||||
probably also need 'SCSI device support: SCSI disk support'
|
||||
(BLK_DEV_SD) for most USB storage devices. Some devices also
|
||||
will require 'Probe all LUNs on each SCSI device'
|
||||
(SCSI_MULTI_LUN).
|
||||
(BLK_DEV_SD) for most USB storage devices.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called usb-storage.
|
||||
|
@@ -1498,7 +1498,7 @@ static int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us)
|
||||
{
|
||||
int ret;
|
||||
|
||||
usb_stor_dbg(us, "LUN=%d\n", srb->device->lun);
|
||||
usb_stor_dbg(us, "LUN=%d\n", (u8)srb->device->lun);
|
||||
|
||||
switch (srb->device->lun) {
|
||||
case 0:
|
||||
@@ -1524,7 +1524,7 @@ static int dpcm_transport(struct scsi_cmnd *srb, struct us_data *us)
|
||||
break;
|
||||
|
||||
default:
|
||||
usb_stor_dbg(us, "Invalid LUN %d\n", srb->device->lun);
|
||||
usb_stor_dbg(us, "Invalid LUN %d\n", (u8)srb->device->lun);
|
||||
ret = USB_STOR_TRANSPORT_ERROR;
|
||||
break;
|
||||
}
|
||||
|
@@ -347,14 +347,16 @@ static int usb_stor_control_thread(void * __us)
|
||||
*/
|
||||
else if (us->srb->device->id &&
|
||||
!(us->fflags & US_FL_SCM_MULT_TARG)) {
|
||||
usb_stor_dbg(us, "Bad target number (%d:%d)\n",
|
||||
us->srb->device->id, us->srb->device->lun);
|
||||
usb_stor_dbg(us, "Bad target number (%d:%llu)\n",
|
||||
us->srb->device->id,
|
||||
us->srb->device->lun);
|
||||
us->srb->result = DID_BAD_TARGET << 16;
|
||||
}
|
||||
|
||||
else if (us->srb->device->lun > us->max_lun) {
|
||||
usb_stor_dbg(us, "Bad LUN (%d:%d)\n",
|
||||
us->srb->device->id, us->srb->device->lun);
|
||||
usb_stor_dbg(us, "Bad LUN (%d:%llu)\n",
|
||||
us->srb->device->id,
|
||||
us->srb->device->lun);
|
||||
us->srb->result = DID_BAD_TARGET << 16;
|
||||
}
|
||||
|
||||
|
新增問題並參考
封鎖使用者