- 26 8月, 2013 1 次提交
-
-
由 Joe Lawrence 提交于
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: NJoe Lawrence <joe.lawrence@stratus.com> Acked-by: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 25 6月, 2013 8 次提交
-
-
由 Reddy, Sreekanth 提交于
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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
[jejb: checkpatch fixes] Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Cc: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Cc: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Reddy, Sreekanth 提交于
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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Cc: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 30 4月, 2013 1 次提交
-
-
由 Al Viro 提交于
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
-
- 24 3月, 2013 1 次提交
-
-
由 Kent Overstreet 提交于
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: NKent Overstreet <koverstreet@google.com> CC: Jens Axboe <axboe@kernel.dk> CC: Eric Moore <Eric.Moore@lsi.com> CC: "James E.J. Bottomley" <JBottomley@parallels.com> CC: linux-scsi@vger.kernel.org
-
- 24 2月, 2013 1 次提交
-
-
由 Sreekanth Reddy 提交于
Defined SSDID & HW vendor brand strings. Added entries for SSDID within the function that prints the brand string. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 29 1月, 2013 1 次提交
-
-
由 Sreekanth Reddy 提交于
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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NTomas Henzl <thenzl@redhat.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 04 1月, 2013 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
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 <wfp5p@virginia.edu> Cc: Adam Radford <linuxraid@lsi.com> Cc: "James E.J. Bottomley" <JBottomley@parallels.com> Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
-
- 24 9月, 2012 3 次提交
-
-
由 Martin K. Petersen 提交于
Add a parameter that allows the host protection capabilities mask to be provided at module load time. Signed-off-by: NMartin K. Petersen <martin.petersen@oracle.com> Acked-by: N"Sreekanth Reddy" <Sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Martin K. Petersen 提交于
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: NMartin K. Petersen <martin.petersen@oracle.com> Acked-by: N"Sreekanth Reddy" <Sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Alexey Khoroshilov 提交于
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: NAlexey Khoroshilov <khoroshilov@ispras.ru> Acked-by: N"Sreekanth Reddy" <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 17 9月, 2012 1 次提交
-
-
由 sreekanth.reddy@lsi.com 提交于
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: NSreekanth Reddy <sreekanth.reddy@lsi.com> Cc: <stable@vger.kernel.org> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 08 9月, 2012 1 次提交
-
-
由 Stephen Hemminger 提交于
Signed-off-by: NStephen Hemminger <shemminger@vyatta.com> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 24 8月, 2012 8 次提交
-
-
由 sreekanth.reddy@lsi.com 提交于
Signed-off-by: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 sreekanth.reddy@lsi.com 提交于
[SCSI] mpt2sas: Fix for With post diag reset same set of device gets added, removed 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: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 sreekanth.reddy@lsi.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: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 sreekanth.reddy@lsi.com 提交于
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: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 sreekanth.reddy@lsi.com 提交于
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: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 sreekanth.reddy@lsi.com 提交于
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_status when 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: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 sreekanth.reddy@lsi.com 提交于
Updating the customer branding string for "SSD 910 Series" controller Signed-off-by: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 sreekanth.reddy@lsi.com 提交于
The Copyright String in all the drivers sources were changed to 2012 Signed-off-by: NSreekanth Reddy <sreekanth.reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 22 8月, 2012 1 次提交
-
-
由 sreekanth.reddy@lsi.com 提交于
[SCSI] mpt2sas: Fix for Driver oops, when loading driver with max_queue_depth command line option to a very small value If the specified max_queue_depth setting is less than the expected number of internal commands, then driver will calculate the queue depth size to a negitive number. This negitive number is actually a very large number because variable is unsigned 16bit integer. So, the driver will ask for a very large amount of memory for message frames and resulting into oops as memory allocation routines will not able to handle such a large request. So, in order to limit this kind of oops, The driver need to set the max_queue_depth to a scsi mid layer's can_queue value. Then the overall message frames required for IO is minimum of either (max_queue_depth plus internal commands) or the IOC global credits. Signed-off-by: NSreekanth Reddy <sreekanth.reddy@lsi.com> Cc: <stable@kernel.org> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 20 7月, 2012 1 次提交
-
-
由 Mike Christie 提交于
This has scsi_internal_device_unblock/scsi_target_unblock take the new state to set the devices as an argument instead of always setting to running. The patch also converts users of these functions. This allows the FC and iSCSI class to transition devices from blocked to transport-offline, so that when fast_io_fail/replacement_timeout has fired we do not set the devices back to running. Instead, we set them to SDEV_TRANSPORT_OFFLINE. Signed-off-by: NMike Christie <michaelc@cs.wisc.edu> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 06 6月, 2012 1 次提交
-
-
When CONFIG_DEBUG_PREEMPT is enabled, bug is observed in the smp_processor_id(). This is because smp_processor_id() is not called in preempt safe condition. To fix this issue, use raw_smp_processor_id instead of smp_processor_id. Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> CC: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 10 5月, 2012 1 次提交
-
-
由 Tomas Henzl 提交于
When scsi_add_host fails the scsi_host_put should be called. Signed-off-by: NTomas Henzl <thenzl@redhat.com> Acked-by: N"Nandigama, Nagalakshmi" <Nagalakshmi.Nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 24 4月, 2012 9 次提交
-
-
Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
The ioc->pfacts member in the IOC structure is getting set to zero following a call to _base_get_ioc_facts due to the memset in that routine. So if the ioc->pfacts was read after a host reset, there would be a NULL pointer dereference. The routine _base_get_ioc_facts is called from context of host reset. The problem in _base_get_ioc_facts is the size of Mpi2IOCFactsReply is 64, whereas the sizeof "struct mpt2sas_facts" is 60, so there is a four byte overflow resulting from the memset. Also, there is memset in _base_get_port_facts using the incorrect structure, it should be "struct mpt2sas_port_facts" instead of Mpi2PortFactsReply. Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> CC: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
[SCSI] mpt2sas: Fix for hard drive going OFFLINE when hard reset issued and simultaneously another hard drive is hot unplugged Following the host reset, the firmware discovery is reassigning another hard drive in the topology to the same device handle as that device is getting hot removed. Until the driver device removal routine is called, there will be two hard drive with the matching device handle in the internal device link list. In the device removal routine, a separate function which moves the device from BLOCKED into OFFLINE state. Since this routine is passed with the device handle passed as input parameter, the routine will be traversing the internal device link list searching for matching device handle. This results in two devices with matching device handle, therefore both devices goes OFFLINE. To fix this issue,the input parameter is changed from device handle to SAS address, therefore only the device that is hot unplugged will be placed in OFFLINE state. Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Cc: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
[SCSI] mpt2sas: Set the phy identifier of the end device to the phy number of the parent device it is linked to The phy_identifier inside the routine _transport_set_identify() is set to sas_device_page_zero->PhyNum. This returns the phy number of the parent device this device is linked to. Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
[SCSI] mpt2sas : While enabling phy, read the current port number from sas iounit page 0 instead of page 1 The port number is changing after disabling/enabling phys using the SysFS interface This is because the firmware behavour changed where it would read the the port number then set it to some different value even though Auto Port Config is turned on. With this change of behavour in FW, it is possible that the expanders are moved from one port to another after disabling /enabling phys. This is occuring because the port number in sas iounit page 1 is not matching up to the current port in page 0. In order to fix this the driver is modified to read the current port number from sas iounit page 0 instead of page 1. Also copy the port and phy flags over from page 0 to page 1. Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
Fix several endian issues found by runing sparse. Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
Modified the source code as per the findings reported by the source code analysis tool. Source code for the following functionalities has been touched. None of the driver functionalities has changed. - SMP Passthrough IOCTL - Debug messages for MPT Replies (i.e. bit 9 of Logging Level) - Task Management using sysfs - Device removal, i.e. when a target device (including any PD within a volume) is removed, and Volume Deletion. - Trace Buffer Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
[SCSI] mpt2sas: Improvement were made to better protect the sas_device, raid_device, and expander_device lists There were possible race conditions surrounding reading an object from the link list while from another context in the driver was removing it. The nature of this enhancement is to rearrange locking so the link lists are better protected. Change set: (1) numerous routines were rearranged so spin locks are held through the entire time a link list object is being read from or written to. (2) added new routines for object deletion from link list. Thus ensuring lock was held during the deletion of the link list object, then and memory for object freed outside the lock. The memory was freed outside the lock so driver had access to device object info which was required for notifying the scsi mid layer that a device was getting deleted. (3) added the ioc->blocking_handles parameter. This is a bitmask used to identify which devices need blocking when there is device loss. This was introduced so that lock can be held for the entire time traversing the link list objects, and the bitmask was set to indicate which device handles need blocking. Oustide the lock the ioc->blocking_handles bitmask is traversed, with the respective device handle the scsi mid layer is called for moving devices into blocking state. Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
[SCSI] mpt2sas : Perform Target Reset instead of HBA reset when a SATA_PASSTHROUGH cmd timeout happens Signed-off-by: NNagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-