- 26 10月, 2006 1 次提交
-
-
由 Michael Reed 提交于
Thanks to James Smart for the inspiration. Stall error handler if attempting recovery while an rport is blocked. This avoids device offline scenarios due to errors in the error handler. Also verify that VirtDevice is available before issuing scsi command. VirtDevice is removed when fc transport removes a target. See James Smart's patch of 08/17/2006 for greater detail. http://marc.theaimsgroup.com/?l=linux-scsi&m=115583213624803&w=2 Also bump version number per Eric's request. Signed-off-by: NMichael Reed <mdr@sgi.com> Acked-by: NEric Moore <eric.moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 07 8月, 2006 3 次提交
-
-
由 Michael Reed 提交于
Add host_supported_speeds, host_maxframe_size, host_speed, host_fabric_name, host_port_type, host_port_state, and host_symbolic_name transport attributes to fusion fibre channel. Signed-off-by: NMichael Reed <mdr@sgi.com> Acked-by: NMoore, Eric <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Michael Reed 提交于
This patch corrects a problem in mptfc which can result in targets being removed after executing an "lsiutil 99" reset of the fibre channel ports. The last rescan event was being processed before the setup reset work due to an inappropriate optimization in the event processing logic. Every rescan event is now queued for execution and the setup reset work now executes in the proper sequence. Signed-off-by: NMichael Reed <mdr@sgi.com> Acked-by: NMoore, Eric <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Michael Reed 提交于
Based upon a conversation I had with LSI's fibre channel firmware guru, this patch adds another condition under which the driver waits for the firmware link initialization / target discovery to complete. Signed-off-by: NMichael Reed <mdr@sgi.com> Acked-by: NMoore, Eric <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 13 7月, 2006 1 次提交
-
-
由 Eric Moore 提交于
* removing obsolete 1066, 1066E from Kconfig * initializing aen_event_read_flag after host reset * remove oem references * remove obsolete mpt_pq_filter command line option Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 29 6月, 2006 1 次提交
-
-
由 Eric Moore 提交于
* Adding 1078 ROC (Raid On Chip) Support - New host adapter * Moving all PCI Vendor/Device ids to using internal defines; a request from Christoph/James B. some time ago for when the next chip was added. * Removing SAS 1066/1066E Vendor/Device IDs, as there are no plans to manufacture that controller. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 28 6月, 2006 1 次提交
-
-
由 Jesper Juhl 提交于
Remove redundant NULL chck before kfree + tiny CodingStyle cleanup for drivers/ Signed-off-by: NJesper Juhl <jesper.juhl@gmail.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 11 6月, 2006 4 次提交
-
-
由 Michael Reed 提交于
The driver uses msleep_interruptible() in the code path responsible for resetting the card's ports via the lsiutil command. If a <ctrl-c> is received during the reset it can leave a port in such a state that the only way to regain its use is to reboot the system. Changing from msleep_interruptible() to msleep() corrects the problem. Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Michael Reed 提交于
While doing board reset testing I was able to put the system in an infinite request/response loop between the scsi layer and mptscsih_qcmd() by aborting the reset. This patch installs a "SETUP RESET" handler which calls fc_remote_port_delete() for all registered rports. This blocks the target which prevents the loop. Additionally, should the reset fail to complete, the transport will now terminate i/o to the target. Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Michael Reed 提交于
The fibre channel firmware provides a timer which is similar in purpose to the fibre channel transport's device loss timer. The effect of this timer is to extend the total time that a target will be missing beyond the value associated with the transport's timer. This patch changes the firmware timer to a default of one second which significantly reduces the lag between when a target goes missing and the notification of the fibre channel transport. Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Michael Reed 提交于
Move fibre channel event and reset handling to mptfc. This will result in fewer changes over time that need to be applied to either mptbase.c or mptscsih.c. Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 10 5月, 2006 1 次提交
-
-
由 mdr@sgi.com 提交于
A race condition exists in mptfc between the thread registering a device with the fc transport and the scan work generated by the transport. This race existed prior to the application of the mptfc bug fix patch. mptfc_register_dev() calls fc_remote_port_add() with the FC_RPORT_ROLE_TARGET bit set in the rport ids passed to the function. Having this bit set causes fc_remote_port_add() to schedule a scan of the device. This scan can execute before mptfc_register_dev() can fill in the dd_data in the rport structure. When this happens, mptfc_target_alloc() will fail because dd_data is null. Attached is a patch which fixes the problem. The patch changes the rport ids passed to fc_remote_port_add() to not have the TARGET bit set. This prevents the scan from being scheduled. After mptfc_register_dev() fills in the rport dd_data field, fc_remote_port_rolechg() is called, changing the role of the rport to TARGET. Thus, the scan is scheduled after dd_data is filled in which prevents the failure in mptfc_target_alloc(). Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 26 4月, 2006 1 次提交
-
-
由 Moore, Eric 提交于
mptbase.h bump version number to 3.03.09 remove unneeded flags define workq and remove old fc specific locks mptbase.c initialize new lock and don't initialize two removed locks mptscsih.c when firmware reports target is no longer there, return DID_REQUEUE for fc hosts so that i/o doesn't get killed until the transport has an opportunity to manage the loss via its dev loss timer when the "eh_abort" routine is called, check to see if the driver has the command or not before looking to see if a reset is pending. James Smart and I talked about this and believe that the API for this routine is: if driver doesn't have command, return SUCCESS. This change helps prevent a target from being taken offline. SUCCESS is returned because it's likely that the command completed after error recovery timed it out but before it could be aborted. provide a routine to queue work to newly created workq, and use it. remove "ioc" from mptscsih_abort() it was only used one time. the other references were via hd->ioc, so I just moved it.... net change in references to ioc via hd->ioc is zero move hd->resetPending test and hd->timeouts increment to after the test for whether the command to be aborted remains known to the driver Make certain that the workq exists before queuing work to it. mptfc.c no longer need to lock rport data structures as I was able to single thread the code! I fixed up the debug code to eliminate compilation messages due to type mismatch in the printk. Got rid of some no longer needed rport flags. Initialize and destroy the workq used for the rescan work. simplify the logic regarding the increment of fc_rescan_work_count. use post increment and test for zero vs. pre increment and test for one; eliminate work_count variable: queue_work can be called with the work_lock held as it doesn't sleep Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 15 3月, 2006 2 次提交
-
-
由 Moore, Eric 提交于
It makes no sense in keeping the target_id and bus_id in the VirtDevice structure, when it can be obtained from the VirtTarget structure. In addition, this patch fix's couple compilation bugs in mptfc.c when MPT_DEBUG_FC is enabled. This provided by Micheal Reed. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Moore, Eric 提交于
Created a debug level MPT_DEBUG_VERBOSE_EVENTS. Moving some of the more vebose debug messages for firwmare events into new debug level. Also added some more firmware events descriptions. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 28 2月, 2006 1 次提交
-
-
由 Adrian Bunk 提交于
This patch makes two needlessly global functions static. Signed-off-by: NAdrian Bunk <bunk@stusta.de> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 01 2月, 2006 1 次提交
-
-
由 Michael Reed 提交于
This fix's problems with recent fc submission regarding i/o being redirected to the wrong target. Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 15 1月, 2006 3 次提交
-
-
由 Moore, Eric 提交于
Add software recognition for the new LSI Logic Fibre Channel controller. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Michael Reed 提交于
Signed-off-by: NMichael Reed <mdr@sgi.com> Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Christoph Hellwig 提交于
Convert kmalloc + memset to kzalloc or kcalloc in fusion. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 14 12月, 2005 3 次提交
-
-
由 Moore, Eric Dean 提交于
This utilizes the hostdata area that is hung off of scsi_target and scsi_device for saving unique firmware mapping. This will be required for supporting new Fibre and SPI transport support. This also fixs problems in error handling error code for SAS controllers, in which the incorrect mapping was passed to the firmware. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Moore, Eric Dean 提交于
This cleans the returning failure conditions of the mptsas/mptfc/mptspi probe routines. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Moore, Eric Dean 提交于
Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 20 9月, 2005 1 次提交
-
-
由 Moore, Eric Dean 提交于
Summary of Changes: * splitting mpt_interrupt per Christophs suggestion about a month ago * rename ScsiCfgData to SpiCfgData structure, then move all the raid related info into new structure called RaidCfgData. This is done because SAS supports RAID, as well as SPI, so the raid stuff should be seperate. * incorrect timeout calculation for cntdn inside WaitForDoorbellAck and WaitForDoortbellInt * add support for interpreting SAS Log Info * Increase Event Log Size from 0xA to 0x32 * Fix bug in mptsas/mptfc/mptspi - when controller has Initiator Mode Disabled, and only running in TargetMode, the mptctl would panic when loading. The fix is to return 0, instead of -ENODEV, in SCSI LLD respective probe routines * Fix bug in mptlan.c - driver will panic if there is host reset, due to dev being set to zero in mpt_lan_ioc_reset * Fix's for SPI - Echo Buffer * Several fix's in mptscsih_io_done - FCP Response info, RESIDUAL_MISMATCH, Data Underrun, etc. * Cleanup Error Handling - EH handlers, mptscsih_flush_cmds, and zeroing out ScsiLookup from mptscsih_qcmd * Cleanup asyn event handling from mptscsih -> mptscsih_event_process. Also added support for SAS Persistent Table Full, an asyn event Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 01 7月, 2005 1 次提交
-
-
由 Moore, Eric Dean 提交于
Convert driver to use new change_queue_depth API. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Fixed up rejections and Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 28 6月, 2005 1 次提交
-
-
由 Greg Kroah-Hartman 提交于
Now we can change the pci core to always set this pointer, as pci drivers should use it, not the driver core callback. Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
-
- 26 6月, 2005 1 次提交
-
-
由 Christoph Hellwig 提交于
scsi_add_host is the proper place to set the device, but people copy the scsi_set_device usage from older drivers again and again. note that this leaves some legacy drivers like qlogicisp/qlogicfc without pci association in sysfs, but they're scheduled to go away soon anyway. Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 21 5月, 2005 4 次提交
-
-
由 Moore, Eric Dean 提交于
* adding pci id support for new Fibre chips, 949X and 939X * adding errata workaround - disabling PIO access except during fwdlb. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Moore, Eric Dean 提交于
Adjust link ordering in the Makefile. Also, the ioc->DoneCtx handles for mptspi/mptfc in the message frame. And I'm now not seeing the panic. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Moore, Eric Dean 提交于
(1) mptfc.c: This driver is having module_init, module_exit, and probe. (2) mptfc.c: Registering for Fibre Channel pci ids are done from this module. (3) mptfc.c: Convert MODULE_PARM to module_param Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Moore, Eric Dean 提交于
(1) mptspi.c: This driver is having module_init, module_exit, and probe. (2) mptspi.c: Registering for SCSI pci ids are done from this module. (3) mptspi.c: Convert MODULE_PARM to module_param Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-