- 13 1月, 2015 3 次提交
-
-
由 Sreekanth Reddy 提交于
Copyright, Trademark & Confidentiality legal statements throughout the source code changed from LSI to Avago. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Sreekanth Reddy 提交于
mpt2sas, mpt3sas: Fail the host reset initiated due to discovery related I/O timeouts at driver load time When a flaky disk is there in a topology then during driver load, discovery related I/O times out; which results in SCSI error recovery initiating host reset and then the controller won't see any disk. In this patch, The driver would return FAILED status to the host reset initiated due to discovery related I/O timeout if ioc->is_driver_loading is set. This flag would be set until we exit out of scsih_scan_finished(). i.e. During device discovery if one of the disk is flaky (which responds to some discovery commands and doesn't respond to some) the driver wouldn't perform host reset for discovery related I/O timeout. Instead it would return Failure for the host reset resulting in the flaky disk getting removed by the SCSI Mid layer, so other disks would be added correctly. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Sreekanth Reddy 提交于
This patch will log a message when driver receives "Temperature Threshold exceeded" event from any temperature sensor. The message will look similar to like: mpt3sas0: Temperature Threshold flags a b c d exceeded for Sensor: x !!! mpt3sas0: Current Temp In Celsius: y where a b c d are threshold flags 0 1 2 3 Change_set: 1. Get the number of sensor count of this IOC by reading IO Unit page 8 at driver initialization time. 2. Also unmask the Temperature Threshold Event at driver initialization time 3. Whenever a MPI2_EVENT_TEMP_THRESHOLD event is received from the firmware, then print the sensor number, the maximum threshold number it has exceed and the current temperature of this sensor. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 04 12月, 2014 1 次提交
-
-
由 Christoph Hellwig 提交于
Since we got rid of ordered tag support in 2010 the prime use case of switching on and off ordered tags has been obsolete. The other function of enabling/disabling tagging entirely has only been correctly implemented by the 53c700 driver and isn't generally useful. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NBart Van Assche <bvanassche@acm.org> Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com Reviewed-by: NHannes Reinecke <hare@suse.de>
-
- 24 11月, 2014 3 次提交
-
-
由 Christoph Hellwig 提交于
Merge two functions, and remove overly verbose debugging output that pokes into mid-layer internal structures. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Reviewed-by: NHannes Reinecke <hare@suse.de>
-
由 Christoph Hellwig 提交于
Drop the now unused reason argument from the ->change_queue_depth method. Also add a return value to scsi_adjust_queue_depth, and rename it to scsi_change_queue_depth now that it can be used as the default ->change_queue_depth implementation. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Reviewed-by: NHannes Reinecke <hare@suse.de>
-
由 Christoph Hellwig 提交于
All drivers use the implementation for ramping the queue up and down, so instead of overloading the change_queue_depth method call the implementation diretly if the driver opts into it by setting the track_queue_depth flag in the host template. Note that a few drivers validated the new queue depth in their change_queue_depth method, but as we never go over the queue depth set during slave_configure or the sysfs file this isn't nessecary and can safely be removed. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Reviewed-by: NHannes Reinecke <hare@suse.de> Reviewed-by: NVenkatesh Srinivas <venkateshs@google.com>
-
- 12 11月, 2014 3 次提交
-
-
由 Christoph Hellwig 提交于
Remove the tagged argument from scsi_adjust_queue_depth, and just let it handle the queue depth. For most drivers those two are fairly separate, given that most modern drivers don't care about the SCSI "tagged" status of a command at all, and many old drivers allow queuing of multiple untagged commands in the driver. Instead we start out with the ->simple_tags flag set before calling ->slave_configure, which is how all drivers actually looking at ->simple_tags except for one worke anyway. The one other case looks broken, but I've kept the behavior as-is for now. Except for that we only change ->simple_tags from the ->change_queue_type, and when rejecting a tag message in a single driver, so keeping this churn out of scsi_adjust_queue_depth is a clear win. Now that the usage of scsi_adjust_queue_depth is more obvious we can also remove all the trivial instances in ->slave_alloc or ->slave_configure that just set it to the cmd_per_lun default. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Reviewed-by: NHannes Reinecke <hare@suse.de> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Christoph Hellwig 提交于
Remove the ordered_tags field, we haven't been issuing ordered tags based on it since the big barrier rework in 2010. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Reviewed-by: NBart Van Assche <bvanassche@acm.org> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com>
-
由 Christoph Hellwig 提交于
Most drivers use exactly the same implementation, so provide it as a library function. Signed-off-by: NChristoph Hellwig <hch@lst.de> Reviewed-by: NBart Van Assche <bvanassche@acm.org> Reviewed-by: NMike Christie <michaelc@cs.wisc.edu> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Reviewed-by: NHannes Reinecke <hare@suse.de>
-
- 17 9月, 2014 3 次提交
-
-
由 Sreekanth Reddy 提交于
In _scsih_probe, propagate the return value from scsi_add_host. In mpt3sas, avoid calling list_del twice if that returns an error, which causes list_del corruption warnings if an error is returned. Tested with blk-mq and scsi-mq patches to properly cleanup from and propagate blk_mq_init_rq_map errors. Signed-off-by: NRobert Elliott <elliott@hp.com> Acked-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Sreekanth Reddy 提交于
Copyright in driver sources is updated for year the 2014. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Sreekanth Reddy 提交于
Added code to send an SEP message that turns off the Predictive Failure LED when a drive is removed (if Predictive Failure LED was turned on). Added a new flag 'pfa_led_on' per device that tracks the status of Predictive Failure LED. When the drive is removed, this flag is checked and sends an SEP message to turn off the respective Predictive Failure LED. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Reviewed-by: NMartin K. Petersen <martin.petersen@oracle.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 13 8月, 2014 1 次提交
-
-
由 Benoit Taine 提交于
We should prefer `struct pci_device_id` over `DEFINE_PCI_DEVICE_TABLE` to meet kernel coding style guidelines. This issue was reported by checkpatch. A simplified version of the semantic patch that makes this change is as follows (http://coccinelle.lip6.fr/): // <smpl> @@ identifier i; declarer name DEFINE_PCI_DEVICE_TABLE; initializer z; @@ - DEFINE_PCI_DEVICE_TABLE(i) + const struct pci_device_id i[] = z; // </smpl> [bhelgaas: add semantic patch] Signed-off-by: NBenoit Taine <benoit.taine@lip6.fr> Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
-
- 26 7月, 2014 3 次提交
-
-
由 Reddy, Sreekanth 提交于
In _scsih_probe, delay the call to scsi_add_host until the host has been fully set up. Otherwise, the default .can_queue value of 1 causes scsi-mq to set the block layer request queue size to its minimum size, resulting in awful performance. In _scsih_probe error handling, call mpt3sas_base_detach rather than scsi_remove_host to properly clean up in reverse order. In _scsih_remove, call scsi_remove_host earlier to clean up in reverse order. Signed-off-by: NRobert Elliott <elliott@hp.com> Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NNagalakshmi Nandigama <Nagalakshmi.Nandigama@avagotech.com> Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Joe Lawrence 提交于
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: NJoe Lawrence <joe.lawrence@stratus.com> Acked-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Joe Lawrence 提交于
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: NJoe Lawrence <joe.lawrence@stratus.com> Acked-by: NSreekanth Reddy <Sreekanth.Reddy@avagotech.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 18 7月, 2014 1 次提交
-
-
由 Hannes Reinecke 提交于
Now that we're using 64-bit LUNs internally we need to increase the size of max_luns to 64 bits, too. Signed-off-by: NHannes Reinecke <hare@suse.de> Reviewed-by: NChristoph Hellwig <hch@infradead.org> Reviewed-by: NEwan Milne <emilne@redhat.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 29 5月, 2014 2 次提交
-
-
由 Matthew Wilcox 提交于
Removing the host_lock from the I/O submission path gives a huge scalability improvement. Signed-off-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Reviewed-by: NNicholas Bellinger <nab@linux-iscsi.org> Reviewed-by: NPraveen Krishnamoorthy <Praveen.krishnamoorthy@lsi.com> Acked-by: NSreekanth Reddy <Sreekanth.reddy@lsi.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
由 Matthew Wilcox 提交于
The mpt3sas_scsih_issue_tm() function does not use the 'serial_number' argument passed to it. Removing it removes the last vestiges of the scsi_cmnd's serial_number field from this driver. Signed-off-by: NMatthew Wilcox <matthew.r.wilcox@intel.com> Reviewed-by: NNicholas Bellinger <nab@linux-iscsi.org> Reviewed-by: NPraveen Krishnamoorthy <Praveen.krishnamoorthy@lsi.com> Acked-by: NSreekanth Reddy <Sreekanth.reddy@lsi.com> Signed-off-by: NChristoph Hellwig <hch@lst.de>
-
- 26 8月, 2013 1 次提交
-
-
由 Joe Lawrence 提交于
If mpt3sas_base_map_resources takes an early error path then its counterpart, mpt3sas_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>
-
- 09 7月, 2013 4 次提交
-
-
由 Sreekanth Reddy 提交于
[SCSI] mpt3sas: when async scanning is enabled then while scanning, devices are removed but their transport layer entries are not removed When Async scanning mode is enabled and device scanning is in progress, 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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
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_expanders So, 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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Cc: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
[SCSI] mpt3sas: fix for kernel panic when driver loads with HBA conected to non 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: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Cc: stable@vger.kernel.org Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sreekanth Reddy 提交于
The Copyright String in all mpt3sas files are changed to 2012-2013. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 29 1月, 2013 2 次提交
-
-
由 Wei Yongjun 提交于
The variable 'chain_flags' and 'phy_number' are initialized but never used otherwise, So remove those unused variables. Signed-off-by: NWei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
由 Sachin Kamat 提交于
linux/version.h is not necessary as detected by checkversion.pl script. Signed-off-by: NSachin Kamat <sachin.kamat@linaro.org> Acked-by: N"Sreekanth Reddy" <Sreekanth.reddy@lsi.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>
-
- 01 12月, 2012 1 次提交
-
-
由 Sreekanth Reddy 提交于
These driver files are initially, substantially similar to mpt2sas but, because mpt2sas is going into maintenance mode and mp3sas will become heavily developed, we elected to keep the code bases separate. Signed-off-by: NSreekanth Reddy <Sreekanth.Reddy@lsi.com> Reviewed-by: NNagalakshmi Nandigama <Nagalakshmi.Nandigama@lsi.com> Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
-
- 24 9月, 2012 2 次提交
-
-
由 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>
-
- 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 4 次提交
-
-
由 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 提交于
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 提交于
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>
-
- 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>
-
- 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 2 次提交
-
-
[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>
-
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>
-