03 Sep, 2013
9 commits
-
Signed-off-by: Jan Vesely
Acked-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
… LUN 0 configured expander
With some enclosures when LUN 0 is not created but LUN 1 or LUN X is created
then SCSI scan procedure calls target_alloc, slave_alloc call back functions
for LUN 0 and slave_destory() for same LUN 0.In these kind of cases within slave_destroy, pointer to scsi_target in
_sas_device structure is set to NULL, following which when slave_alloc for
LUN 1 is called then starget would not be set properly for this LUN.
So, scsi_target pointer pointing to NULL value would lead to a crash later
in the discovery procedure.To solve this issue set the sas_device's scsi_target pointer to scsi_device's
scsi_target if it is NULL earlier in slave_alloc callback function.Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com> -
…removed but their transport layer entries are not removed
When Async scanning mode is enabled and device scanning is in progress then
devices should not be removed. But in actuality, devices are removed but
their transport layer entries are not removed. This causes error to add
the same device to the transport layer after host reset or diagnostic
reset.So, in this patch, modified the code in such a way that device is not removed
when Async scanning mode is enabled and device scanning is in progress.Signed-off-by: Sreekanth Reddy <Sreekanth.Reddy@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com> -
Infinite loop can occur if IOCStatus is not equal to
MPI2_IOCSTATUS_CONFIG_INVALID_PAGE value in the while loops in functions
_scsih_search_responding_sas_devices,
_scsih_search_responding_raid_devices and
_scsih_search_responding_expandersSo, Instead of checking for MPI2_IOCSTATUS_CONFIG_INVALID_PAGE value,
in this patch code is modified to check for IOCStatus not equals to
MPI2_IOCSTATUS_SUCCESS to break the while loop.Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
The copyright in driver sources is updated for the year 2013.
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Change set in MPI2 Rev x specification and 2.00.26 header files
1. Added two new AbortType values for TargetModeAbort Request: one to abort
all IOs from a single initiator and other to abort only Command IUs.2. Added Use Slot Information during Port Enable Event Reply flag to the Flags
field of Manufacturing Page 7.3. Added OEM Identifier to BiosOptions bits of BIOS Page 1.
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
The intent of this patch is to perform a graceful shutdown of target drives even if
volume doesn't exits. Changes done in this patch1. Removed the check for the presence of volumes before sending down
MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED. Therefore, this RAID action
would be sent if the card is IR Firmware.2. The MPI2_RAID_ACTION_SYSTEM_SHUTDOWN_INITIATED is sent even when the
system undergoes suspend (in addition to remove/shutdown which was already
present)Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Added a check to identify if mpi_reply is NULL in mpt2sas_ctl_event_callback()
and return without proceeding if it is the case.Also modified the following functions to return void instead of 0 or 1
as returning those values from events perspective doesn't make sense.
* _base_async_event()
* mpt2sas_ctl_event_callback()
* mpt2sas_scsih_event_callback()Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley
26 Aug, 2013
1 commit
-
If mpt2sas_base_map_resources takes an early error path then its
counterpart, mpt2sas_base_free_resources needs to be careful about
cleaning up:1 - _base_mask_interrupts and _base_make_ioc_ready require memory
mapped I/O registers, make sure that this is true.2 - _base_free_irq iterates over the adapter's reply_queue_list, so
move this list head initialization out of _base_enable_msix to
_scsih_probe so this will always be safe.3 - check that the controller PCI device and its BARs have been
enabled before disabling them.Signed-off-by: Joe Lawrence
Acked-by: Sreekanth Reddy
Signed-off-by: James Bottomley
25 Jun, 2013
8 commits
-
If CONFIG_SCSI_MPT2SAS_LOGGING is undefined, then these warnings are emitted
drivers/scsi/mpt2sas/mpt2sas_scsih.c: In function '_scsih_sas_broadcast_primitive_event'
drivers/scsi/mpt2sas/mpt2sas_scsih.c:5810:40: warning: unused variable 'event_data'Use pr_info() function instead of dewtprintk().
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
[jejb: checkpatch fixes]
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
When SCSI command is received with task attribute not set, set it to SIMPLE.
Previously it is set to untagged. This causes the firmware to fail the commands.Signed-off-by: Sreekanth Reddy
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley -
Modified device scan routine so each configuration page read breaks from the
while loop when the ioc_status is not equal to MPI2_IOCSTATUS_SUCCESS.[jejb: checkpatch fixes]
Signed-off-by: Sreekanth Reddy
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley -
Updated the mpt2sas driver code that issues hard reset to comply with the
timing requirements mentioned in MPI specifications rev V.[jejb: checpatch fixes]
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Change set in MPI 2.0 Rev W(2.00.15) specification and 2.00.27 header files
1. Added a bit to the IOCExceptions field of the IOCFacts Reply to indicate
that the IOC detected a partial memory failure.
2. Added ElapsedSeconds field to RAID Volume Indicator Structure. Added
Elapsed Seconds Valid flag to Flags field of this structure.
3. Added ElapsedSeconds field to Integrated RAID Operations Status Event Data.
4. In the IOCSettings field of BIOS Page 1, modified the Adapter Support bits
description to specify X86 BIOS.
5. Toolbox Diagnostic CLI Tool Request may now use chain elements in the SGL.Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Missing delay is not getting set properly. The reason is that it is not
defined in the same file from where it is being invoked. The fix is to move
the missing delay module parameter from mpt2sas_base.c to mpt2sas_scsh.c.Signed-off-by: Sreekanth Reddy
Cc: stable@vger.kernel.org
Signed-off-by: James Bottomley
09 May, 2013
1 commit
-
Pull block core updates from Jens Axboe:
- Major bit is Kents prep work for immutable bio vecs.
- Stable candidate fix for a scheduling-while-atomic in the queue
bypass operation.- Fix for the hang on exceeded rq->datalen 32-bit unsigned when merging
discard bios.- Tejuns changes to convert the writeback thread pool to the generic
workqueue mechanism.- Runtime PM framework, SCSI patches exists on top of these in James'
tree.- A few random fixes.
* 'for-3.10/core' of git://git.kernel.dk/linux-block: (40 commits)
relay: move remove_buf_file inside relay_close_buf
partitions/efi.c: replace useless kzalloc's by kmalloc's
fs/block_dev.c: fix iov_shorten() criteria in blkdev_aio_read()
block: fix max discard sectors limit
blkcg: fix "scheduling while atomic" in blk_queue_bypass_start
Documentation: cfq-iosched: update documentation help for cfq tunables
writeback: expose the bdi_wq workqueue
writeback: replace custom worker pool implementation with unbound workqueue
writeback: remove unused bdi_pending_list
aoe: Fix unitialized var usage
bio-integrity: Add explicit field for owner of bip_buf
block: Add an explicit bio flag for bios that own their bvec
block: Add bio_alloc_pages()
block: Convert some code to bio_for_each_segment_all()
block: Add bio_for_each_segment_all()
bounce: Refactor __blk_queue_bounce to not use bi_io_vec
raid1: use bio_copy_data()
pktcdvd: Use bio_reset() in disabled code to kill bi_idx usage
pktcdvd: use bio_copy_data()
block: Add bio_copy_data()
...
30 Apr, 2013
1 commit
-
Signed-off-by: Al Viro
24 Mar, 2013
1 commit
-
More prep work for immutable bvecs/effecient bio splitting - usage of
bi_vcnt has to be auditing, so getting rid of all the unnecessary usage
makes that easier.Plus, bio_segments() is really what this code wanted, as it respects the
current value of bi_idx.Signed-off-by: Kent Overstreet
CC: Jens Axboe
CC: Eric Moore
CC: "James E.J. Bottomley"
CC: linux-scsi@vger.kernel.org
24 Feb, 2013
1 commit
-
Defined SSDID & HW vendor brand strings. Added entries for SSDID within the
function that prints the brand string.Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley
29 Jan, 2013
1 commit
-
This patch stops the driver to invoke kthread (which remove the dead ioc)
for some time while EEH recovery has started.[thenzl: add a 'non_operational_loop' reset.]
Signed-off-by: Sreekanth Reddy
Signed-off-by: Tomas Henzl
Signed-off-by: James Bottomley
04 Jan, 2013
1 commit
-
CONFIG_HOTPLUG is going away as an option. As a result, the __dev*
markings need to be removed.This change removes the use of __devinit, __devexit_p, __devinitdata,
__devinitconst, and __devexit from these drivers.Based on patches originally written by Bill Pemberton, but redone by me
in order to handle some of the coding style issues better, by hand.Cc: Bill Pemberton
Cc: Adam Radford
Cc: "James E.J. Bottomley"
Signed-off-by: Greg Kroah-Hartman
03 Oct, 2012
1 commit
-
Pull first round of SCSI updates from James Bottomley:
"This is a large set of updates, mostly for drivers (qla2xxx [including
support for new 83xx based card], qla4xxx, mpt2sas, bfa, zfcp, hpsa,
be2iscsi, isci, lpfc, ipr, ibmvfc, ibmvscsi, megaraid_sas).There's also a rework for tape adding virtually unlimited numbers of
tape drives plus a set of dif fixes for sd and a fix for a live lock
on hot remove of SCSI devices.This round includes a signed tag pull of isci-for-3.6
Signed-off-by: James Bottomley "
Fix up trivial conflict in drivers/scsi/qla2xxx/qla_nx.c due to new PCI
helper function use in a function that was removed by this pull.* tag 'scsi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (198 commits)
[SCSI] st: remove st_mutex
[SCSI] sd: Ensure we correctly disable devices with unknown protection type
[SCSI] hpsa: gen8plus Smart Array IDs
[SCSI] qla4xxx: Update driver version to 5.03.00-k1
[SCSI] qla4xxx: Disable generating pause frames for ISP83XX
[SCSI] qla4xxx: Fix double clearing of risc_intr for ISP83XX
[SCSI] qla4xxx: IDC implementation for Loopback
[SCSI] qla4xxx: update copyrights in LICENSE.qla4xxx
[SCSI] qla4xxx: Fix panic while rmmod
[SCSI] qla4xxx: Fail probe_adapter if IRQ allocation fails
[SCSI] qla4xxx: Prevent MSI/MSI-X falling back to INTx for ISP82XX
[SCSI] qla4xxx: Update idc reg in case of PCI AER
[SCSI] qla4xxx: Fix double IDC locking in qla4_8xxx_error_recovery
[SCSI] qla4xxx: Clear interrupt while unloading driver for ISP83XX
[SCSI] qla4xxx: Print correct IDC version
[SCSI] qla4xxx: Added new mbox cmd to pass driver version to FW
[SCSI] scsi_dh_alua: Enable STPG for unavailable ports
[SCSI] scsi_remove_target: fix softlockup regression on hot remove
[SCSI] ibmvscsi: Fix host config length field overflow
[SCSI] ibmvscsi: Remove backend abstraction
...
02 Oct, 2012
2 commits
-
Pull PCI changes from Bjorn Helgaas:
"Host bridge hotplug
- Protect acpi_pci_drivers and acpi_pci_roots (Taku Izumi)
- Clear host bridge resource info to avoid issue when releasing
(Yinghai Lu)
- Notify acpi_pci_drivers when hot-plugging host bridges (Jiang Liu)
- Use standard list ops for acpi_pci_drivers (Jiang Liu)Device hotplug
- Use pci_get_domain_bus_and_slot() to close hotplug races (Jiang
Liu)
- Remove fakephp driver (Bjorn Helgaas)
- Fix VGA ref count in hotplug remove path (Yinghai Lu)
- Allow acpiphp to handle PCIe ports without native hotplug (Jiang
Liu)
- Implement resume regardless of pciehp_force param (Oliver Neukum)
- Make pci_fixup_irqs() work after init (Thierry Reding)Miscellaneous
- Add pci_pcie_type(dev) and remove pci_dev.pcie_type (Yijing Wang)
- Factor out PCI Express Capability accessors (Jiang Liu)
- Add pcibios_window_alignment() so powerpc EEH can use generic
resource assignment (Gavin Shan)
- Make pci_error_handlers const (Stephen Hemminger)
- Cleanup drivers/pci/remove.c (Bjorn Helgaas)
- Improve Vendor-Specific Extended Capability support (Bjorn
Helgaas)
- Use standard list ops for bus->devices (Bjorn Helgaas)
- Avoid kmalloc in pci_get_subsys() and pci_get_class() (Feng Tang)
- Reassign invalid bus number ranges (Intel DP43BF workaround)
(Yinghai Lu)"* tag 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (102 commits)
PCI: acpiphp: Handle PCIe ports without native hotplug capability
PCI/ACPI: Use acpi_driver_data() rather than searching acpi_pci_roots
PCI/ACPI: Protect acpi_pci_roots list with mutex
PCI/ACPI: Use acpi_pci_root info rather than looking it up again
PCI/ACPI: Pass acpi_pci_root to acpi_pci_drivers' add/remove interface
PCI/ACPI: Protect acpi_pci_drivers list with mutex
PCI/ACPI: Notify acpi_pci_drivers when hot-plugging PCI root bridges
PCI/ACPI: Use normal list for struct acpi_pci_driver
PCI/ACPI: Use DEVICE_ACPI_HANDLE rather than searching acpi_pci_roots
PCI: Fix default vga ref_count
ia64/PCI: Clear host bridge aperture struct resource
x86/PCI: Clear host bridge aperture struct resource
PCI: Stop all children first, before removing all children
Revert "PCI: Use hotplug-safe pci_get_domain_bus_and_slot()"
PCI: Provide a default pcibios_update_irq()
PCI: Discard __init annotations for pci_fixup_irqs() and related functions
PCI: Use correct type when freeing bus resource list
PCI: Check P2P bridge for invalid secondary/subordinate range
PCI: Convert "new_id"/"remove_id" into generic pci_bus driver attributes
xen-pcifront: Use hotplug-safe pci_get_domain_bus_and_slot()
...
24 Sep, 2012
3 commits
-
Add a parameter that allows the host protection capabilities mask to be
provided at module load time.Signed-off-by: Martin K. Petersen
Acked-by: "Sreekanth Reddy"
Signed-off-by: James Bottomley -
Only a target device should return ABORTED COMMAND when a PI error is
discovered. The HBA should always set the sense key to ILLEGAL REQUEST.Signed-off-by: Martin K. Petersen
Acked-by: "Sreekanth Reddy"
Signed-off-by: James Bottomley -
If state is NON_BLOCKING and mutex_trylock is succeed,
the control flow goes to mutex_lock_interruptible() that is a deadlock.[jejb: fixed coding style problems]
Signed-off-by: Alexey Khoroshilov
Acked-by: "Sreekanth Reddy"
Signed-off-by: James Bottomley
17 Sep, 2012
1 commit
-
This patch checks whether HBA is SAS2008 B0 controller.
if it is a SAS2008 B0 controller then it use IO-APIC interrupt instead of MSIX,
as SAS2008 B0 controller doesn't support MSIX interrupts.[jejb: fix whitespace problems]
Signed-off-by: Sreekanth Reddy
Cc:
Signed-off-by: James Bottomley
08 Sep, 2012
1 commit
-
Signed-off-by: Stephen Hemminger
Signed-off-by: Bjorn Helgaas
24 Aug, 2012
8 commits
-
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
…ved and then again gets added with new target ids
When device discovery is disabled during driver load time using module
parameter "disable_discovery=1" and when diag reset is issued then from logs,
it is observed that the devices get added, removed and then added with new
target ids.So, in order to limit this turn-off the code which is deleting and devices
across host reset when the disable_discovery module parameter is turned on.Signed-off-by: Sreekanth Reddy <sreekanth.reddy@lsi.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com> -
This patch provides a command line option to disable "Port enable" during
the driver load.The objective of this command line option is to load the driver and do
all the necessary initialization excluding port enable(i.e. delay
device discovery)Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Changeset in MPI 2.0 Rev V(2.0.14) specification
1) Bumped MPI2_HEADER_VERSION_UNIT.
2) Added a product specific range to event values.
3) Added clarification to Direct-Attached SAS PHY Power condition.
4) Updated timing requirements for performing Hard Reset.Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
When specifying the command line option "max_sectors" less than 64, then
warning message should provide correct upper boundary value 32767 instead of
8192.Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
A new sysfs shost attribute called "BMR_status" is implemented to
report Backup Rail Monitor status.This attribute is located in the path
/sys/class/scsi_host/host#/BMR_statuswhen reading this adapter attribute, then driver will output the state
of GPIO[24]. It returns "0" if BMR is healthy and it returns "1" for failure.if it returns an empty string then it means that there was an error while
obtaining the BMR status. Then check dmesg for what error has occured.Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
Updating the customer branding string for "SSD 910 Series" controller
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley -
The Copyright String in all the drivers sources were changed to 2012
Signed-off-by: Sreekanth Reddy
Signed-off-by: James Bottomley