aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-07-25ufs: fix DMA mask settingAkinobu Mita2-26/+22
If the controller doesn't support 64-bit addressing mode, it must not set the DMA mask to 64-bit. But it's unconditionally trying to set to 64-bit without checking 64-bit addressing support in the controller capabilities. It was correctly checked before commit 3b1d05807a9a68c6d0580e9248247a774a4d3be6 ("[SCSI] ufs: Segregate PCI Specific Code"), this aims to restores the correct behaviour. To achieve this in a generic way, firstly we should push down the DMA mask setting routine ufshcd_set_dma_mask() from PCI glue driver to core driver in order to do it for both PCI glue driver and Platform glue driver. Secondly, we should change pci_ DMA mapping API to dma_ DMA mapping API because core driver is independent of glue drivers. Signed-off-by: Akinobu Mita <[email protected]> Acked-by: Santosh Y <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ufs: adjust queue settings to PRDT limitationsAkinobu Mita2-0/+20
The data byte count field of PRDT indicates the length of data block which is a segment of data transfer for SCSI commands. The value of this field shall have Dword granularity and the the maximum of length is 256KB. This adjusts dma pad mask and max segment size to the above-mentioned PRDT limitations. Signed-off-by: Akinobu Mita <[email protected]> Reviewed-by: Subhash Jadavani <[email protected]> Tested-by: Dolev Raviv <[email protected]> Acked-by: Vinayak Holikatti <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ufs: Fix sending unsupported SCSI commandSujit Reddy Thumma1-0/+3
UFS 1.1 specification does not support MAINTENANCE IN(0xA3) SCSI command and hence it doesn't support REPORT SUPPORTED OPERATION CODES as well. Change-Id: Ic09c5b46b2511b1c28db478023c32b898ac69e6d Signed-off-by: Sujit Reddy Thumma <[email protected]> Signed-off-by: Dolev Raviv <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ufs: read door bell register after clearing interrupt aggregationDolev Raviv1-33/+34
In interrupt context, after reading and comparing the UTRLDBR to hba->outstanding_request and before resetting the interrupt aggregation, there might be completion of another transfer request (TR). Such TRs might get stuck, pending, until the next interrupt is generated (if any). Changing the sequence of resetting the interrupt aggregation first and then reading UTRLDBR status, will assure that completed TRs won't get stuck pending. Signed-off-by: Dolev Raviv <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ufs: Fix queue depth handling for best effort casesSujit Reddy Thumma1-55/+42
Some UFS devices may expose bLUQueueDepth field as zero indicating that the queue depth depends on the number of resources available for LUN at a particular instant to handle the outstanding transfer requests. Currently, when response for SCSI command is TASK_FULL the LLD decrements the queue depth but fails to increment when the resources are available. The scsi mid-layer handles the change in queue depth heuristically and offers simple interface with ->change_queue_depth. Signed-off-by: Sujit Reddy Thumma <[email protected]> Signed-off-by: Dolev Raviv <[email protected]> Acked-by: Santosh Y <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ufs: Logical Unit (LU) command queue depthDolev Raviv2-1/+65
Some of the UFS devices may support different number of commands that can be queued per LU. At the current implementation, SW configure each of the UFS devices LU's according to the controller capability. In this patch the queue depth available per LU is read and updated in the LU's SW structure. Signed-off-by: Dolev Raviv <[email protected]> Signed-off-by: Raviv Shvili <[email protected]> Acked-by: Santosh Y <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ufs: device query status and size checkDolev Raviv1-17/+32
Check query response status before copying the response. Add descriptor query response size check, before copying it to buffer. Signed-off-by: Dolev Raviv <[email protected]> Signed-off-by: Raviv Shvili <[email protected]> Acked-by: Santosh Y <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ufs: query descriptor APIDolev Raviv2-28/+128
Introduces the API for sending queries with descriptors. A descriptor is a block or page of parameters that describe the device. The descriptors are classified into types and can range in size from 2 bytes through 255 bytes. All descriptors have a length value as their first element, and a type identification element as their second byte. All descriptors are readable and some may be write once. They are accessed using their type, index and selector. Signed-off-by: Dolev Raviv <[email protected]> Signed-off-by: Raviv Shvili <[email protected]> Acked-by: Santosh Y <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25be2iscsi: Fix memory leak in mgmt_set_ip()Maurizio Lombardi1-9/+11
The if_info pointer is not released by the mgmt_set_ip() function Signed-off-by: Maurizio Lombardi <[email protected]> Reviewed-by: Tomas Henzl <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25virtio-scsi: Implement change_queue_depth for virtscsi targetsVenkatesh Srinivas1-0/+33
change_queue_depth allows changing per-target queue depth via sysfs. It also allows the SCSI midlayer to ramp down the number of concurrent inflight requests in response to a SCSI BUSY status response and allows the midlayer to ramp the count back up to the device maximum when the BUSY condition has resolved. Signed-off-by: Venkatesh Srinivas <[email protected]> Signed-off-by: Paolo Bonzini <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25virtio-scsi: replace target spinlock with seqcountMing Lei1-13/+29
The spinlock of tgt_lock is only for serializing read and write req_vq, one lockless seqcount is enough for the purpose. On one 16core VM with vhost-scsi backend, the patch can improve IOPS with 3% on random read test. Signed-off-by: Ming Lei <[email protected]> [Add initialization in virtscsi_target_alloc. - Paolo] Signed-off-by: Paolo Bonzini <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25hpsa: fix bad -ENOMEM return value in hpsa_big_passthru_ioctlStephen M. Cameron1-1/+1
When copy_from_user fails, return -EFAULT, not -ENOMEM Signed-off-by: Stephen M. Cameron <[email protected]> Reported-by: Robert Elliott <[email protected]> Reviewed-by: Joe Handzik <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed by: Mike MIller <[email protected]> Cc: <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25hpsa: remove online devices from offline device listStephen M. Cameron1-1/+5
When devices come on line, they should be removed from the list of offline devices that are monitored. Signed-off-by: Stephen M. Cameron <[email protected]> Reviewed-by: Scott Teel <[email protected]> Reviewed-by: Joe Handzik <[email protected]> Reviewed by: Mike MIller <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25hpsa: fix non-x86 buildsArnd Bergmann1-2/+2
commit 28e134464734 "[SCSI] hpsa: enable unit attention reporting" turns on unit attention notifications, but got the change wrong for all architectures other than x86, which now store an uninitialized value into the device register. Gcc helpfully warns about this: ../drivers/scsi/hpsa.c: In function 'hpsa_set_driver_support_bits': ../drivers/scsi/hpsa.c:6373:17: warning: 'driver_support' is used uninitialized in this function [-Wuninitialized] driver_support |= ENABLE_UNIT_ATTN; ^ This moves the #ifdef so only the prefetch-enable is conditional on x86, not also reading the initial register contents. Signed-off-by: Arnd Bergmann <[email protected]> Fixes: 28e134464734 "[SCSI] hpsa: enable unit attention reporting" Cc: [email protected] # v3.14+ Acked-by: Stephen M. Cameron <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25hpsa: do not unconditionally copy sense dataRobert Elliott1-8/+8
Signed-off-by: Robert Elliott <[email protected]> Signed-off-by: Stephen M. Cameron <[email protected]> Reviewed-by: Stephen M. Cameron <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25hpsa: fix 6-byte READ/WRITE with 0 length data xferStephen M. Cameron1-1/+2
a 6-byte READ/WRITE CDB with a 0 block data transfer really means a 256 block data transfer. The RAID mapping code failed to handle this case. For 10/12/16 byte READ/WRITEs, 0 just means no data should be transferred, and should not trigger BUG_ON. Signed-off-by: Stephen M. Cameron <[email protected]> Reported-by: Robert Elliott <[email protected]> Reviewed-by: Robert Elliott <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25hpsa: make hpsa_init_one return -ENOMEM if allocation of h->lockup_detected ↵Stephen M. Cameron1-1/+3
fails Signed-off-by: Stephen M. Cameron <[email protected]> Reviewed-by: Joe Handzik <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25MAINTAINERS: Update maintainer list for bnx2i and bnx2fcVikas Chaudhary1-2/+2
Signed-off-by: Vikas Chaudhary <[email protected]> Acked-by: Eddie Wai <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25bnx2fc: Rebranding bnx2fc driverSaurav Kashyap11-14/+72
QLogic has acquired the NetXtremeII products and drivers from Broadcom. This patch re-brands bnx2fc driver as a QLogic driver Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: Vikas Chaudhary <[email protected]> Acked-by: Eddie Wai <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25bnx2i: Rebranding bnx2i driverVikas Chaudhary8-19/+33
QLogic has acquired the NetXtremeII products and drivers from Broadcom. This patch re-brands bnx2i driver as a QLogic driver Signed-off-by: Vikas Chaudhary <[email protected]> Acked-by: Eddie Wai <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mpt3sas: Rework the MSI-X grouping codeMartin K. Petersen1-52/+21
On systems with a non power-of-two CPU count the existing MSI-X grouping code failed to distribute interrupts correctly. Rework the code to handle arbitrary processor counts. Also remove the hardcoded upper limit on the number of processors so we can boot on large systems. Signed-off-by: Martin K. Petersen <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mpt2sas: Rework the MSI-X grouping codeMartin K. Petersen1-41/+23
On systems with a non power-of-two CPU count the existing MSI-X grouping code failed to distribute interrupts correctly. Rework the code to handle arbitrary processor counts. Also remove the hardcoded upper limit on the number of processors so we can boot on large systems. Signed-off-by: Martin K. Petersen <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mptfusion: tweak null pointer checksJoe Lawrence3-44/+37
Fixes the following smatch warnings: drivers/message/fusion/mptbase.c:652 mptbase_reply() warn: variable dereferenced before check 'reply' (see line 639) [JL: No-brainer, the enclosing switch statement dereferences reply, so we can't get here unless reply is valid.] drivers/message/fusion/mptsas.c:1255 mptsas_taskmgmt_complete() error: we previously assumed 'pScsiTmReply' could be null (see line 1227) [HCH: Reading the code in mptsas_taskmgmt_complete it's pretty obvious that it can't do anything useful if mr/pScsiTmReply are NULL, so I suspect it would be best to just return at the beginning of the function. I'd love to understand if it actually could ever be zero, which I doubt. Maybe the LSI people can shed some light on that?] drivers/message/fusion/mptsas.c:3888 mptsas_not_responding_devices() error: we previously assumed 'port_info->phy_info' could be null (see line 3875) [HCH: It's pretty obvious from reading mptsas_sas_io_unit_pg0 that we never register a port_info with a NULL phy_info in the lists, so all NULL checks on it could be deleted.] drivers/message/fusion/mptscsih.c:1284 mptscsih_info() error: we previously assumed 'h' could be null (see line 1274) [HCH: shost_priv can't return NULL, so the if (h) should be removed.] drivers/message/fusion/mptscsih.c:1388 mptscsih_qcmd() error: we previously assumed 'vdevice' could be null (see line 1373) [HCH: vdevice can't ever be NULL here, it's allocated in ->slave_alloc and thus guaranteed to be around when ->queuecommand is called.] Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mptfusion: combine fw_event_work and its event_dataJoe Lawrence2-11/+7
Tack the firmware reply event_data payload to the end of its corresponding struct fw_event_work allocation. Rework fw_event_work allocation calculations to include the event_data size where appropriate. This clarifies the code a bit and avoids the following smatch warnings: drivers/message/fusion/mptsas.c:1003 mptsas_queue_device_delete() error: memcpy() 'fw_event->event_data' too small (29 vs 36) drivers/message/fusion/mptsas.c:1017 mptsas_queue_rescan() error: not allocating enough data 168 vs 160 Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mptfusion: make adapter prod_name[] a pointerJoe Lawrence2-7/+6
The struct _MPT_ADAPTER doesn't need a full copy of the product string, so prod_name can point to the string literal storage that the driver already provides. Avoids the following smatch warning: drivers/message/fusion/mptbase.c:2858 MptDisplayIocCapabilities() warn: this array is probably non-NULL. 'ioc->prod_name' Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mptfusion: use memdup_userJoe Lawrence1-13/+5
Let memdup_user handle the kmalloc, copy_from_user and error checking kfree code. Spotted by the following smatch (false positive) warning: drivers/message/fusion/mptctl.c:1369 mptctl_getiocinfo() warn: possible info leak 'karg' Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mptfusion: remove redundant kfree checksJoe Lawrence2-4/+2
Fixes the following smatch warnings: drivers/message/fusion/mptfc.c:529 mptfc_target_destroy() info: redundant null check on starget->hostdata calling kfree() drivers/message/fusion/mptspi.c:465 mptspi_target_destroy() info: redundant null check on starget->hostdata calling kfree() Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mptfusion: mark file-private functions as staticJoe Lawrence3-5/+5
Fixes the following sparse warnings: drivers/message/fusion/mptbase.c:7011:1: warning: symbol 'mpt_SoftResetHandler' was not declared. Should it be static? drivers/message/fusion/mptsas.c:1578:23: warning: symbol 'mptsas_refreshing_device_handles' was not declared. Should it be static? drivers/message/fusion/mptsas.c:3653:24: warning: symbol 'mptsas_expander_add' was not declared. Should it be static? drivers/message/fusion/mptsas.c:5327:1: warning: symbol 'mptsas_shutdown' was not declared. Should it be static? drivers/message/fusion/mptspi.c:624:1: warning: symbol 'mptscsih_quiesce_raid' was not declared. Should it be static? Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mpt3sas: combine fw_event_work and its event_dataJoe Lawrence1-25/+31
Tack the firmware reply event_data payload to the end of its corresponding struct fw_event_work allocation. This matches the convention in the mptfusion driver and simplifies the code. This avoids the following smatch warning: drivers/scsi/mpt3sas/mpt3sas_scsih.c:2519 mpt3sas_send_trigger_data_event() warn: possible memory leak of 'fw_event' Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mpt3sas: correct scsi_{target,device} hostdata allocationJoe Lawrence1-2/+4
In _scsih_{slave,target}_alloc, an incorrect structure type is passed to sizeof() when allocating storage for hostdata. Luckily larger structure types were used, so at least the wrong sizes were safe: struct scsi_device (1784 bytes) > struct MPT3SAS_DEVICE (24 bytes) struct scsi_target (760 bytes) > struct MPT3SAS_TARGET (32 bytes) This fixes the following smatch warnings: drivers/scsi/mpt3sas/mpt3sas_scsih.c:1166 _scsih_target_alloc() warn: struct type mismatch 'MPT3SAS_TARGET vs scsi_target' drivers/scsi/mpt3sas/mpt3sas_scsih.c:1280 _scsih_slave_alloc() warn: struct type mismatch 'MPT3SAS_DEVICE vs scsi_device' Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mpt2sas: annotate ioc->reply_post_host_index as __iomemJoe Lawrence2-5/+6
The MPT2SAS_ADAPTER reply_post_host_index[] holds calculated addresses in memory mapped register space. Add an "__iomem" annotation to silence the following sparse warnings: drivers/scsi/mpt2sas/mpt2sas_base.c:1006:43: warning: incorrect type in argument 2 (different address spaces) expected void volatile [noderef] <asn:2>*addr got unsigned long long [usertype] *<noident> drivers/scsi/mpt2sas/mpt2sas_base.c:4299:22: warning: cast removes address space of expression drivers/scsi/mpt2sas/mpt2sas_base.c:4303:27: warning: cast removes address space of expression Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mpt2sas: combine fw_event_work and its event_dataJoe Lawrence1-22/+30
Tack the firmware reply event_data payload to the end of its corresponding struct fw_event_work allocation. This matches the convention in the mptfusion driver and simplifies the code. Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25mpt2sas: correct scsi_{target,device} hostdata allocationJoe Lawrence1-2/+4
In _scsih_{slave,target}_alloc, an incorrect structure type is passed to sizeof() when allocating storage for hostdata. Luckily larger structure types were used, so at least the wrong sizes were safe: struct scsi_device (1784 bytes) > struct MPT2SAS_DEVICE (24 bytes) struct scsi_target (760 bytes) > struct MPT2SAS_TARGET (40 bytes) This fixes the following smatch warnings: drivers/scsi/mpt2sas/mpt2sas_scsih.c:1295 _scsih_target_alloc() warn: struct type mismatch 'MPT2SAS_TARGET vs scsi_target' drivers/scsi/mpt2sas/mpt2sas_scsih.c:1409 _scsih_slave_alloc() warn: struct type mismatch 'MPT2SAS_DEVICE vs scsi_device' Signed-off-by: Joe Lawrence <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-253w-xxxx: fix mis-aligned struct accessesArnd Bergmann1-2/+2
Building an allmodconfig ARM kernel, I get multiple such warnings because of a spinlock contained in packed structure in the 3w-xxxx driver: ../drivers/scsi/3w-xxxx.c: In function 'tw_chrdev_ioctl': ../drivers/scsi/3w-xxxx.c:1001:68: warning: mis-aligned access used for structure member [-fstrict-volatile-bitfields] timeout = wait_event_timeout(tw_dev->ioctl_wqueue, tw_dev->chrdev_request_id == TW_IOCTL_CHRDEV_FREE, timeout); ^ ../drivers/scsi/3w-xxxx.c:1001:68: note: when a volatile object spans multiple type-sized locations, the compiler must choose between using a single mis-aligned access to preserve the volatility, or using multiple aligned accesses to avoid runtime faults; this code may fail at runtime if the hardware does not allow this access The same bug apparently was present in 3w-sas and 3w-9xxx, but has been fixed in the past. This patch uses the same fix by moving the pragma in front of the TW_Device_Extension definition, so it only covers hardware structures. Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Adam Radford <[email protected]> Cc: Adam Radford <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25NCR53c406a: don't call free_dma() by defaultArnd Bergmann1-1/+1
The NCR53c406a scsi driver normally does not use DMA, unless the USE_PIO macro is disabled by modifying the source code. The call to free_dma() for some reason uses #ifdef USE_DMA, which does not do the right thing, since USE_DMA is defined as a boolean that is either 0 or 1, but always present. One case where it gets in the way is randconfig builds on ARM, which depending on the configuration does not provide a free_dma() function, causing this build error: drivers/scsi/NCR53c406a.c: In function 'NCR53c406a_release': drivers/scsi/NCR53c406a.c:600:3: error: implicit declaration of function 'free_dma' [-Werror=implicit-function-declaration] free_dma(shost->dma_channel); ^ This changes the code to use #if USE_DMA, to match the rest of the file, which seems to be what the author intended. Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Finn Thain <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25qlogicfas: don't call free_dma()Arnd Bergmann1-2/+0
The qlogicfas scsi driver does not use DMA, and the call to free_dma() in its exit function seems to have been copied incorrectly from another driver but never caused trouble. One case where it gets in the way is randconfig builds on ARM, which depending on the configuration does not provide a free_dma() function, causing this build error: drivers/scsi/qlogicfas.c: In function 'qlogicfas_release': drivers/scsi/qlogicfas.c:175:3: error: implicit declaration of function 'free_dma' [-Werror=implicit-function-declaration] free_dma(shost->dma_channel); ^ Removing the incorrect function calls should be the obvious fix for this, with no downsides. Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Finn Thain <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25pas16: don't call free_dma()Arnd Bergmann1-2/+0
The pas16 scsi driver does not use DMA, and the call to free_dma() in its exit function seems to have been copied incorrectly from another driver but never caused trouble. One case where it gets in the way is randconfig builds on ARM, which depending on the configuration does not provide a free_dma() function, causing this build error: drivers/scsi/pas16.c: In function 'pas16_release': drivers/scsi/pas16.c:611:3: error: implicit declaration of function 'free_dma' [-Werror=implicit-function-declaration] free_dma(shost->dma_channel); Removing the incorrect function calls should be the obvious fix for this, with no downsides. Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Finn Thain <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25advansys: don't build ARMArnd Bergmann1-1/+1
The advansys SCSI driver uses the dma_cache_sync function, which is not available on the ARM architecture, and cannot be implemented correctly, so we always get this build error: drivers/scsi/advansys.c: In function 'advansys_get_sense_buffer_dma': drivers/scsi/advansys.c:7882:2: error: implicit declaration of function 'dma_cache_sync' [-Werror=implicit-function-declaration] dma_cache_sync(board->dev, scp->sense_buffer, ^ It seems nobody has missed this driver so far, so let's just disable it for ARM to help randconfig builds. Signed-off-by: Arnd Bergmann <[email protected]> Reviewed-by: Finn Thain <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25ibmvfc: fix little endian issuesTyrel Datwyler2-367/+374
Added big endian annotations to relevant data structure fields, and necessary byte swappings to support little endian builds. Signed-off-by: Brian King <[email protected]> Signed-off-by: Tyrel Datwyler <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25qla2xxx: Use dma_zalloc_coherentJoe Perches1-6/+4
Use the zeroing function instead of dma_alloc_coherent & memset(,0,) Signed-off-by: Joe Perches <[email protected]> Acked-by: Saurav Kashyap <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25bfa: use ARRAY_SIZE instead of sizeof/sizeof[0]Fabian Frederick1-3/+3
Use macro definition Signed-off-by: Fabian Frederick <[email protected]> Acked-by: Anil Gurumurthy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25bfa: remove useless return variablesPeter Senna Tschudin1-6/+4
This patch remove variables that are initialized with a constant, are never updated, and are only used as parameter of return. Return the constant instead of using a variable. Verified by compilation only. The coccinelle script that find and fixes this issue is: // <smpl> @@ type T; constant C; identifier ret; @@ - T ret = C; ... when != ret when strict return - ret + C ; // </smpl> Signed-off-by: Peter Senna Tschudin <[email protected]> Acked-by: Sudarsana Kalluru <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25bfa: Fix undefined bit shift on big-endian architectures with 32-bit DMA addressBen Hutchings1-1/+1
bfa_swap_words() shifts its argument (assumed to be 64-bit) by 32 bits each way. In two places the argument type is dma_addr_t, which may be 32-bit, in which case the effect of the bit shift is undefined: drivers/scsi/bfa/bfa_fcpim.c: In function 'bfa_ioim_send_ioreq': drivers/scsi/bfa/bfa_fcpim.c:2497:4: warning: left shift count >= width of type [enabled by default] addr = bfa_sgaddr_le(sg_dma_address(sg)); ^ drivers/scsi/bfa/bfa_fcpim.c:2497:4: warning: right shift count >= width of type [enabled by default] drivers/scsi/bfa/bfa_fcpim.c:2509:4: warning: left shift count >= width of type [enabled by default] addr = bfa_sgaddr_le(sg_dma_address(sg)); ^ drivers/scsi/bfa/bfa_fcpim.c:2509:4: warning: right shift count >= width of type [enabled by default] Avoid this by adding casts to u64 in bfa_swap_words(). Compile-tested only. Signed-off-by: Ben Hutchings <[email protected]> Reviewed-by: Martin K. Petersen <[email protected]> Acked-by: Anil Gurumurthy <[email protected]> Cc: [email protected] Fixes: f16a17507b09 ('[SCSI] bfa: remove all OS wrappers') Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25bfa: Use dma_zalloc_coherentJoe Perches1-3/+3
Use the zeroing function instead of dma_alloc_coherent & memset(,0,) Signed-off-by: Joe Perches <[email protected]> Acked-by: Anil Gurumurthy <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25aic7xxx: Use kstrdupHimangi Saraogi3-6/+3
Use kstrdup when the goal of an allocation is copy a string into the allocated region. The Coccinelle semantic patch that makes this change is as follows: // <smpl> @@ expression from,to; expression flag,E1,E2; statement S; @@ - to = kmalloc(strlen(from) + 1,flag); + to = kstrdup(from, flag); ... when != \(from = E1 \| to = E1 \) if (to==NULL || ...) S ... when != \(from = E2 \| to = E2 \) - strcpy(to, from); // </smpl> Signed-off-by: Himangi Saraogi <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25scsi: add defines for new FC port speeds.Dick Kennedy2-0/+8
These speeds are to support the next generation of FCoE port speeds. Signed-off-by: Dick Kennedy <[email protected]> Reviewed-by: Ewan D. Milne <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25bnx2i, be2iscsi: fix custom stats lengthMike Christie2-5/+4
The custom stats is an array with custom_length indicating the length of the array. This patch fixes bnx2i and be2iscsi's setting of the custom stats length. They both just have the one, eh_abort_cnt, so that should be in the first entry of the custom array and custom_length should then be one. Reported-by: Rickard Strandqvist <[email protected]> Signed-off-by: Mike Christie <[email protected]> Acked-by: Vikas Chaudhary <[email protected]> Acked-by: Eddie Wai <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25iscsi: kill redundant castsNick Black' via open-iscsi1-2/+2
Remove two redundant casts from char * to char *. Signed-off-by: Nick Black <[email protected]> Signed-off-by: Mike Christie <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25tgt: remove SCSI_TGT and SCSI_FC_TGT_ATTRSPaul Bolle1-14/+0
The Kconfig symbols SCSI_TGT and SCSI_FC_TGT_ATTRS are unused since "tgt: removal". Setting them has no effect. Remove these symbols. Signed-off-by: Paul Bolle <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>
2014-07-25sd: fix a bug in deriving the FLUSH_TIMEOUT from the basic I/O timeoutK. Y. Srinivasan1-1/+1
Commit ID: 7e660100d85af860e7ad763202fff717adcdaacd added code to derive the FLUSH_TIMEOUT from the basic I/O timeout. However, this patch did not use the basic I/O timeout of the device. Fix this bug. Signed-off-by: K. Y. Srinivasan <[email protected]> Reviewed-by: James Bottomley <[email protected]> Signed-off-by: Christoph Hellwig <[email protected]>