Revision tags: v4.13.16, v4.14, v4.13.5 |
|
#
6c92f7db |
| 15-Sep-2017 |
Dave Carroll <david.carroll@microsemi.com> |
scsi: aacraid: Fix 2T+ drives on SmartIOC-2000
The logic for supporting large drives was previously tied to 4Kn support for SmartIOC-2000. As SmartIOC-2000 does not support volumes using 4Kn drives,
scsi: aacraid: Fix 2T+ drives on SmartIOC-2000
The logic for supporting large drives was previously tied to 4Kn support for SmartIOC-2000. As SmartIOC-2000 does not support volumes using 4Kn drives, use the intended option flag AAC_OPT_NEW_COMM_64 to determine support for volumes greater than 2T.
Cc: <stable@vger.kernel.org> Signed-off-by: Dave Carroll <david.carroll@microsemi.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
Revision tags: v4.13 |
|
#
96676246 |
| 29-Aug-2017 |
Nikola Pajkovsky <npajkovsky@suse.cz> |
scsi: aacraid: report -ENOMEM to upper layer from aac_convert_sgraw2()
aac_convert_sgraw2() kmalloc memory and return -1 on error, which should be -ENOMEM. However, nobody is checking return value,
scsi: aacraid: report -ENOMEM to upper layer from aac_convert_sgraw2()
aac_convert_sgraw2() kmalloc memory and return -1 on error, which should be -ENOMEM. However, nobody is checking return value, so with this change, -ENOMEM is propagated to upper layer.
Signed-off-by: Nikola Pajkovsky <npajkovsky@suse.cz> Reviewed-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
a2260323 |
| 29-Aug-2017 |
Nikola Pajkovsky <npajkovsky@suse.cz> |
scsi: aacraid: get rid of one level of indentation
unsigned long byte_count = 0; nseg = scsi_dma_map(scsicmd); if (nseg < 0) return nseg; if (nseg) { ... } return byte_count;
scsi: aacraid: get rid of one level of indentation
unsigned long byte_count = 0; nseg = scsi_dma_map(scsicmd); if (nseg < 0) return nseg; if (nseg) { ... } return byte_count;
is equal to
unsigned long byte_count = 0; nseg = scsi_dma_map(scsicmd); if (nseg <= 0) return nseg; ... return byte_count;
No other code has changed.
[mkp: fix checkpatch complaints]
Signed-off-by: Nikola Pajkovsky <npajkovsky@suse.cz> Reviewed-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
1ae948fa |
| 29-Aug-2017 |
Brian King <brking@linux.vnet.ibm.com> |
scsi: aacraid: Fix command send race condition
This fixes a potential race condition observed on Power systems.
Several places throughout the aacraid driver call aac_fib_send or similar to send a c
scsi: aacraid: Fix command send race condition
This fixes a potential race condition observed on Power systems.
Several places throughout the aacraid driver call aac_fib_send or similar to send a command to the aacraid adapter, then check the return code to determine if the command was actually sent to the adapter, then update the phase field in the scsi command scratch pad area to track that the firmware now owns this command. However, there is nothing that ensures that by the time the aac_fib_send function returns and we go to write to the scsi command, that the command hasn't already completed and the scsi command has been freed. This was causing random crashes in the TCP stack which was tracked down to be caused by memory that had been a struct request + scsi_cmnd being now used for an skbuff. Memory poisoning was enabled in the kernel to debug this which showed that the last owner of the memory that had been freed was aacraid and that it was a struct request. The memory that was corrupted was the exact data pattern of AAC_OWNER_FIRMWARE and it was at the same offset that aacraid writes, which is scsicmd->SCp.phase. The patch below resolves this issue.
Cc: <stable@vger.kernel.org> Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Tested-by: Wen Xiong <wenxiong@linux.vnet.ibm.com> Reviewed-by: Dave Carroll <david.carroll@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
c8026732 |
| 04-Aug-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Fix out of bounds in aac_get_name_resp
We terminate the aac_get_name_resp on a byte that is outside the bounds of the structure. Extend the return response by one byte to remove the o
scsi: aacraid: Fix out of bounds in aac_get_name_resp
We terminate the aac_get_name_resp on a byte that is outside the bounds of the structure. Extend the return response by one byte to remove the out of bounds reference.
Fixes: b836439faf04 ("aacraid: 4KB sector support") Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: David Carroll <david.carroll@microsemi.com> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
e6fd916a |
| 25-Jul-2017 |
Dan Carpenter <dan.carpenter@oracle.com> |
scsi: aacraid: reading out of bounds
"qd.id" comes directly from the copy_from_user() on the line before so we should verify that it's within bounds.
Signed-off-by: Dan Carpenter <dan.carpenter@ora
scsi: aacraid: reading out of bounds
"qd.id" comes directly from the copy_from_user() on the line before so we should verify that it's within bounds.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
Revision tags: v4.12, v4.10.17, v4.10.16 |
|
#
8105d39d |
| 10-May-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Fix DMAR issues with iommu=pt
The driver changed the DMA consistent map after consistent memory was allocated, this invalidated the IOMMU identity mapping. The fix was to make sure th
scsi: aacraid: Fix DMAR issues with iommu=pt
The driver changed the DMA consistent map after consistent memory was allocated, this invalidated the IOMMU identity mapping. The fix was to make sure that we set the DMA consistent mask setting once depending on the controller card.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: Dave Carroll <david.carroll@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
Revision tags: v4.10.15, v4.10.14, v4.10.13, v4.10.12, v4.10.11, v4.10.10, v4.10.9 |
|
#
f481973d |
| 05-Apr-2017 |
Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com> |
scsi: aacraid: pci_alloc_consistent() failures on ARM64
There were pci_alloc_consistent() failures on ARM64 platform. Use dma_alloc_coherent() with GFP_KERNEL flag DMA memory allocations.
Signed-o
scsi: aacraid: pci_alloc_consistent() failures on ARM64
There were pci_alloc_consistent() failures on ARM64 platform. Use dma_alloc_coherent() with GFP_KERNEL flag DMA memory allocations.
Signed-off-by: Mahesh Rajashekhara <mahesh.rajashekhara@microsemi.com> [hch: tweaked indentation, removed memsets] Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-by: Dave Carroll <david.carroll@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
Revision tags: v4.10.8, v4.10.7, v4.10.6, v4.10.5, v4.10.4, v4.10.3, v4.10.2, v4.10.1, v4.10 |
|
#
09624645 |
| 16-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Save adapter fib log before an IOP reset
Currently the adapter firmware does not save outstanding I/O's log information when an IOP reset is triggered. This is problematic when tryi
scsi: aacraid: Save adapter fib log before an IOP reset
Currently the adapter firmware does not save outstanding I/O's log information when an IOP reset is triggered. This is problematic when trying to root cause and debug issues.
Fixed by adding sync command to trigger I/O log file save in the adapter firmware before issuing an IOP reset.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: David Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
11da1b7c |
| 16-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Decrease adapter health check interval
Currently driver checks the health status of the adapter once every 24 hours. When that happens the driver becomes dependent on the kernel to fi
scsi: aacraid: Decrease adapter health check interval
Currently driver checks the health status of the adapter once every 24 hours. When that happens the driver becomes dependent on the kernel to figure out if the adapter is misbehaving. This might take some time (when the adapter is idle). The driver currently has support to restart/recover the controller when it fails, and decreasing the time interval will help.
Fixed by decreasing check interval from 24 hours to 1 minute
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: David Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
1c68856e |
| 16-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Fix camel case
Replaced camel case with snake case for init supported options.
Suggested-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Raghava Aditya Renukunta <RaghavaA
scsi: aacraid: Fix camel case
Replaced camel case with snake case for init supported options.
Suggested-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Reviewed-by: David Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
76291469 |
| 07-Feb-2017 |
Colin Ian King <colin.king@canonical.com> |
scsi: aacraid: rcode is unsigned and should be signed int
aac_fib_send can return -ve error returns and hence rcode should be signed. Currently the rcode >= 0 check is always true and -ve errors are
scsi: aacraid: rcode is unsigned and should be signed int
aac_fib_send can return -ve error returns and hence rcode should be signed. Currently the rcode >= 0 check is always true and -ve errors are not being checked.
Thanks to Dan Carpenter for spotting my original broken fix to this issue.
Signed-off-by: Colin Ian King <colin.king@canonical.com> Reviewed-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
f4babba0 |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Update copyrights
Added new copyright messages
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.co
scsi: aacraid: Update copyrights
Added new copyright messages
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
31364329 |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Added new IWBR reset
Added a new IWBR soft reset type, reworked the IOP reset interface for a bit.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Sig
scsi: aacraid: Added new IWBR reset
Added a new IWBR soft reset type, reworked the IOP reset interface for a bit.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
999b3ffc |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: VPD 83 type3 support
This patch adds support to retrieve the unique identifier data (VPD page 83 type3) for Logical drives created on SmartIOC 2000 products. In addition added a sysf
scsi: aacraid: VPD 83 type3 support
This patch adds support to retrieve the unique identifier data (VPD page 83 type3) for Logical drives created on SmartIOC 2000 products. In addition added a sysfs device structure to expose the id information.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
ab5d129f |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Add task management functionality
Added support to send out task management commands.
[mkp: removed // fibsize... ]
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@
scsi: aacraid: Add task management functionality
Added support to send out task management commands.
[mkp: removed // fibsize... ]
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
6223a39f |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Added support for hotplug
Added support for drive hotplug add and removal
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll
scsi: aacraid: Added support for hotplug
Added support for drive hotplug add and removal
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
71a91ca4 |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Retrieve Queue Depth from Adapter FW
Retrieved queue depth from fw and saved it for future use. Only applicable for HBA1000 drives.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAd
scsi: aacraid: Retrieve Queue Depth from Adapter FW
Retrieved queue depth from fw and saved it for future use. Only applicable for HBA1000 drives.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
f956a669 |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Added support for read medium error
This patch processes Raw IO read medium errors.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dav
scsi: aacraid: Added support for read medium error
This patch processes Raw IO read medium errors.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
3ffd6c5a |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Added support for response path
This patch enables the driver to actually process the I/O, or srb replies from adapter. In addition to any HBA1000 or SmartIOC2000 adapter events.
Sig
scsi: aacraid: Added support for response path
This patch enables the driver to actually process the I/O, or srb replies from adapter. In addition to any HBA1000 or SmartIOC2000 adapter events.
Signed-off-by: Raghava Aditya Renukunta <raghavaaditya.renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
4ec57fb4 |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Process Error for response I/O
Make sure that the driver processes error conditions even in the fast response path for response from the adapter.
Signed-off-by: Raghava Aditya Renuku
scsi: aacraid: Process Error for response I/O
Make sure that the driver processes error conditions even in the fast response path for response from the adapter.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
c4e2fbca |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Reworked scsi command submission path
Moved the READ and WRITE switch cases to the top. Added a default case to the switch case and replaced duplicate scsi result value with a macro.
scsi: aacraid: Reworked scsi command submission path
Moved the READ and WRITE switch cases to the top. Added a default case to the switch case and replaced duplicate scsi result value with a macro.
The idea is that since most of scsi commands we care about performance wise are read or write, we need to process them first.
Internally the compiler (GCC) converts a switch case into either a jump table or a bunch of if else conditions, so placing the often used read, write cases at the top is an effort in optimization.
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
c83b11e3 |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: Retrieve and update the device types
This patch adds support to retrieve the type of each adapter connected device. Applicable to HBA1000 and SmartIOC2000 products
Signed-off-by: Rag
scsi: aacraid: Retrieve and update the device types
This patch adds support to retrieve the type of each adapter connected device. Applicable to HBA1000 and SmartIOC2000 products
Signed-off-by: Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
d1ef4da8 |
| 02-Feb-2017 |
Raghava Aditya Renukunta <RaghavaAditya.Renukunta@microsemi.com> |
scsi: aacraid: added support for init_struct_8
This patch lays the groundwork for supporting the new HBA-1000 controller family.A new INIT structure INIT_STRUCT_8 has been added which allows for a
scsi: aacraid: added support for init_struct_8
This patch lays the groundwork for supporting the new HBA-1000 controller family.A new INIT structure INIT_STRUCT_8 has been added which allows for a variable size for MSI-x vectors among other things, and is used for both Series-8, HBA-1000 and SmartIOC-2000.
Signed-off-by: Raghava Aditya Renukunta <raghavaaditya.renukunta@microsemi.com> Signed-off-by: Dave Carroll <David.Carroll@microsemi.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
show more ...
|
#
7c0f6ba6 |
| 24-Dec-2016 |
Linus Torvalds <torvalds@linux-foundation.org> |
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
This was entirely automated, using the script by Al:
PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*<asm/uaccess.h>' sed -i -e "s!$PA
Replace <asm/uaccess.h> with <linux/uaccess.h> globally
This was entirely automated, using the script by Al:
PATT='^[[:blank:]]*#[[:blank:]]*include[[:blank:]]*<asm/uaccess.h>' sed -i -e "s!$PATT!#include <linux/uaccess.h>!" \ $(git grep -l "$PATT"|grep -v ^include/linux/uaccess.h)
to do the replacement at the end of the merge window.
Requested-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
show more ...
|