Varun Prakash
4bbd458eaa
scsi: csiostor: add support for Chelsio T6 adapters
...
Enable probe for T6 adapters, add code to flash T6 firmware and firmware
config file, use T6 specific macros.
Signed-off-by: Varun Prakash <varun@chelsio.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kyle Fortin
bfcc62ed70
scsi: libiscsi: use kvzalloc for iscsi_pool_init
...
iscsiadm session login can fail with the following error:
iscsiadm: Could not login to [iface: default, target: iqn.1986-03.com...
iscsiadm: initiator reported error (9 - internal error)
When /etc/iscsi/iscsid.conf sets node.session.cmds_max = 4096, it
results in 64K-sized kmallocs per session. A system under fragmented
slab pressure may not have any 64K objects available and fail iscsiadm
session login. Even though memory objects of a smaller size are
available, the large order allocation ends up failing.
The kernel prints a warning and does dump_stack, like below:
iscsid: page allocation failure: order:4, mode:0xc0d0
CPU: 0 PID: 2456 Comm: iscsid Not tainted 4.1.12-61.1.28.el6uek.x86_64 #2
Call Trace:
[<ffffffff816c6e40>] dump_stack+0x63/0x83
[<ffffffff8118e58a>] warn_alloc_failed+0xea/0x140
[<ffffffff81191df9>] __alloc_pages_slowpath+0x409/0x760
[<ffffffff81192401>] __alloc_pages_nodemask+0x2b1/0x2d0
[<ffffffffa048f6c0>] ? dev_attr_host_ipaddress+0x20/0xffffffffffffc722
[<ffffffff811dc38f>] alloc_pages_current+0xaf/0x170
[<ffffffff81192581>] alloc_kmem_pages+0x31/0xd0
[<ffffffffa048f600>] ? iscsi_transport_group+0x20/0xffffffffffffc7e2
[<ffffffff811ad738>] kmalloc_order+0x18/0x50
[<ffffffff811ad7a4>] kmalloc_order_trace+0x34/0xe0
[<ffffffff8146ee30>] ? transport_remove_classdev+0x70/0x70
[<ffffffff811e843d>] __kmalloc+0x27d/0x2a0
[<ffffffff810c8cbd>] ? complete_all+0x4d/0x60
[<ffffffffa04af299>] iscsi_pool_init+0x69/0x160 [libiscsi]
[<ffffffff81465d90>] ? device_initialize+0xb0/0xd0
[<ffffffffa04af510>] iscsi_session_setup+0x180/0x2f4 [libiscsi]
[<ffffffffa04c5a60>] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
[<ffffffffa04c531f>] iscsi_sw_tcp_session_create+0xcf/0x150 [iscsi_tcp]
[<ffffffffa04c5a60>] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
[<ffffffffa048a633>] iscsi_if_create_session+0x33/0xd0
[<ffffffffa04c5a60>] ? iscsi_max_lun+0x20/0xfffffffffffffa9e [iscsi_tcp]
[<ffffffffa048abd8>] iscsi_if_recv_msg+0x508/0x8c0 [scsi_transport_iscsi]
[<ffffffff811922eb>] ? __alloc_pages_nodemask+0x19b/0x2d0
[<ffffffff811e6d69>] ? __kmalloc_node_track_caller+0x209/0x2c0
[<ffffffffa048b00c>] iscsi_if_rx+0x7c/0x200 [scsi_transport_iscsi]
[<ffffffff81623dc6>] netlink_unicast+0x126/0x1c0
[<ffffffff8162468c>] netlink_sendmsg+0x36c/0x400
[<ffffffff815d2fed>] sock_sendmsg+0x4d/0x60
[<ffffffff815d596a>] ___sys_sendmsg+0x30a/0x330
[<ffffffff811bc72c>] ? handle_pte_fault+0x20c/0x230
[<ffffffff811bc90c>] ? __handle_mm_fault+0x1bc/0x330
[<ffffffff811bcb32>] ? handle_mm_fault+0xb2/0x1a0
[<ffffffff815d5b99>] __sys_sendmsg+0x49/0x90
[<ffffffff815d5bf9>] SyS_sendmsg+0x19/0x20
[<ffffffff816cbb2e>] system_call_fastpath+0x12/0x71
Use kvzalloc for iscsi_pool in iscsi_pool_init.
Signed-off-by: Kyle Fortin <kyle.fortin@oracle.com >
Tested-by: Kyle Fortin <kyle.fortin@oracle.com >
Reviewed-by: Joseph Slember <joe.slember@oracle.com >
Reviewed-by: Lance Hartmann <lance.hartmann@oracle.com >
Acked-by: Lee Duncan <lduncan@suse.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
2d154f5ff3
scsi: smartpqi: bump driver version
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Gerry Morong <gerry.morong@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Corentin Labbe
ebaec8e3ee
scsi: smartpqi: remove writeq/readq function definitions
...
Instead of rewriting write/readq, use existing functions
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
5a259e32ba
scsi: smartpqi: add module parameters
...
Add module parameters to disable heartbeat support and to disable
shutting down the controller when a controller is taken offline.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
8a994a04fc
scsi: smartpqi: cleanup list initialization
...
Better initialization of linked list heads.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
a9f9339241
scsi: smartpqi: add raid level show
...
Display the RAID level via sysfs
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
588a63fea1
scsi: smartpqi: make ioaccel references consistent
...
- make all references to RAID bypass consistent throughout driver.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
6de783f666
scsi: smartpqi: enhance device add and remove messages
...
Improved formatting of information displayed when devices
are added/removed from the system.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
13bede676b
scsi: smartpqi: update timeout on admin commands
...
Increase the timeout on admin commands from 3 seconds to 60
seconds and added a check for controller crash in the loop
where the driver polls for admin command completion.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
f5b6320625
scsi: smartpqi: map more raid errors to SCSI errors
...
enhance mapping of RAID path errors to Linux SCSI host
error codes.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:04 -04:00
Kevin Barnett
37b36847a9
scsi: smartpqi: cleanup controller branding
...
- Improve controller branding support.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
5f310425c8
scsi: smartpqi: update rescan worker
...
improve support for taking controller offline.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
03b288cf3d
scsi: smartpqi: update device offline
...
- Improve handling of offline devices.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
376fb880a4
scsi: smartpqi: correct aio error path
...
set the internal flag that causes I/O to be sent down the
RAID path when the AIO path is disabled
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
3c50976f33
scsi: smartpqi: add lockup action
...
add support for actions to take when controller goes offline.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
94086f5be3
scsi: smartpqi: remove qdepth calculations for logical volumes
...
make the queue depth for LVs the same as the maximum
I/Os supported by the controller
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
d727a776d7
scsi: smartpqi: enhance kdump
...
constrain resource usage during kdump to avoid kdump failures
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
4e8415e386
scsi: smartpqi: change return value for LUN reset operations
...
change return value for controller offline to be consistent
with the rest of the driver.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
bd10cf0be6
scsi: smartpqi: add ptraid support
...
add support for PTRAID devices
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
b805dbfe2b
scsi: smartpqi: update copyright
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
d87d5474e2
scsi: smartpqi: cleanup messages
...
- improve some error messages.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
7eddabff8a
scsi: smartpqi: add new PCI device IDs
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:03 -04:00
Kevin Barnett
cbe0c7b11d
scsi: smartpqi: minor driver cleanup
...
- remove debug code that is no longer necessary.
- Some WARN_ON checks were removed because the driver continues
to function when the conditions are met.
- remove a MACRO that is no longer used.
- remove unnecessary multi-line statements.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
1be42f46ad
scsi: smartpqi: correct BMIC identify physical drive
...
correct the BMIC Identify Physical Device structure
- missing 2 fields
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
8845fdfa92
scsi: smartpqi: eliminate redundant error messages
...
eliminate redundant error message during initialization
if the controller has crashed.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
d91d7820d3
scsi: smartpqi: make pdev pointer names consistent
...
make all variable names for pointers to struct pci_dev consistent
throughout the driver.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
1f37e992ad
scsi: smartpqi: add pqi_wait_for_completion_io
...
Add check for controller lockup during waits for synchronous
controller commands.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
e1d213bdc3
scsi: smartpqi: correct bdma hw bug
...
add workaround for BDMA hardware bug that can cause
hw to read up to 12 SGL elements (192 bytes) beyond the
last element in the list. This fix avoids IOMMU violations
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
98f876674a
scsi: smartpqi: add heartbeat check
...
check for controller lockups
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
061ef06a2d
scsi: smartpqi: add suspend and resume support
...
add support for ACPI S3 (suspend) and S4 (hibernate)
system power states.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
7561a7e441
scsi: smartpqi: enhance resets
...
- Block all I/O targeted at LUN reset device.
- Wait until all I/O targeted at LUN reset device has been
consumed by the controller.
- Issue LUN reset request.
- Wait until all outstanding I/Os and LUN reset completion
have been received by the host.
- Return to OS results of LUN reset request.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
6a50d6ada0
scsi: smartpqi: add supporting events
...
Only register for controller events that driver supports
cleanup event handling.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
162d7753fc
scsi: smartpqi: ensure controller is in SIS mode at init
...
put in SIS mode during initialization.
support kexec/kdump
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
5b0fba0f40
scsi: smartpqi: add in controller checkpoint for controller lockups.
...
tell smartpqi controller to generate a checkpoint for rare lockup
conditions.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:02 -04:00
Kevin Barnett
a81ed5f338
scsi: smartpqi: set pci completion timeout
...
add support for setting PCIe completion timeout.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Kevin Barnett
98bf061b0b
scsi: smartpqi: cleanup interrupt management
...
minor cleanup of interrupt initialization and tear-down.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Kevin Barnett
a37ef74517
scsi: smartpqi: correct remove scsi devices
...
correct a problem caused by holding a spinlock during device deletion.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Signed-off-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
30c0061c9b
scsi: hpsa: bump driver version
...
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
08ec46f673
scsi: hpsa: remove abort handler
...
- simplify the driver
- there are a lot of quirky racy conditions not handled
- causes more aborts/resets when the number of commands to be aborted is
large, such as in multi-path fail-overs.
- has been turned off in our internal driver since 8/31/2015
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
b63c64ac5a
scsi: hpsa: send ioaccel requests with 0 length down raid path
...
- Block I/O requests with 0 length transfers which go down the ioaccel
path. This causes lockup issues down in the basecode.
- These issues have been fixed, but there are customers who are
experiencing the issues when running older firmware.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Scott Teel
3d38f00c41
scsi: hpsa: separate monitor events from rescan worker
...
create new worker thread to monitor controller events
- both the rescan and event monitor workers can cause a rescan to occur
however for multipath we have found that we need to respond faster
than the normal scheduled rescan interval for path fail-overs.
- getting controller events only involves reading a register, but the
rescan worker can obtain an updated LUN list when there is a PTRAID
device present.
- move common code to a separate function.
advantages:
- detect controller events more frequently.
- leave rescan thread interval at 30 seconds.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
5086435e66
scsi: hpsa: correct queue depth for externals
...
- queue depth assignment not in correct place, had no effect.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
c59d04f30d
scsi: hpsa: cleanup reset handler
...
- mark device state sooner.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
d2315ce6e3
scsi: hpsa: correct resets on retried commands
...
- call scsi_done when the command completes.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
3b476aa24d
scsi: hpsa: rescan later if reset in progress
...
- schedule another scan.
- mark current scan as completed.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:01 -04:00
Don Brace
ef8a520362
scsi: hpsa: do not reset enclosures
...
Prevent enclosure resets.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.tell@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:00 -04:00
Don Brace
8516a2db9a
scsi: hpsa: update reset handler
...
Use the return from TUR as a check for the device state.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.tell@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:00 -04:00
Don Brace
5ac517b8a2
scsi: hpsa: do not get enclosure info for external devices
...
external shelves do not support BMICs.
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:00 -04:00
Don Brace
046b263f75
scsi: hpsa: update identify physical device structure
...
- align with latest spec.
- added __attribute((aligned(512)))
Reviewed-by: Scott Teel <scott.teel@microsemi.com >
Reviewed-by: Scott Benesh <scott.benesh@microsemi.com >
Reviewed-by: Kevin Barnett <kevin.barnett@microsemi.com >
Signed-off-by: Don Brace <don.brace@microsemi.com >
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com >
2017-06-12 20:48:00 -04:00