- 13 10月, 2007 5 次提交
-
-
由 Jesper Juhl 提交于
The Coverity checker spotted two potential memory leaks in drivers/message/fusion/mptbase.c::mpt_attach(). There are two returns that may leak the storage allocated for 'ioc' (sizeof(MPT_ADAPTER) bytes). A simple fix would be to simply add two kfree() calls before the return statements, but a better fix (that this patch implements) is to reorder the code so that if we hit the first return condition we don't have to do the allocation at all and then just add a kfree() call for the second case. Signed-off-by: NJesper Juhl <jesper.juhl@gmail.com> Acked-by: N"Moore, Eric Dean" <Eric.Moore@lsil.com> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Prakash, Sathya 提交于
Recently LSI Logic Corp was renamed as LSI Corp, so whereever there is a reference of LSI Logic, it is changed to LSI in mpt fusion driver code. signed-off-by: NSathya Prakash <sathya.prakash@lsi.com> Acked-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Prakash, Sathya 提交于
The call back index requires only u8 but in lot of places it is referred as int, now everywhere the call back index variables are declared as u8 with uniform name cb_idx signed-off-by: NSathya Prakash <sathya.prakash@lsi.com> Acked-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Prakash, Sathya 提交于
Added support for sending the task management requests through High priority request FIFO instead of Doorbell writes when firmware support High priority FIFO. signed-off-by: NSathya Prakash <sathya.prakash@lsi.com> Acked-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
Per request from Matthew Wilcox - using PCI_VENDOR_ATTO. Add support for ATTO UL4D, they are rebranded 53C1030. The changes are 1. Adding a new PCI vendor ID in pci table 2. The spi_port_page_2 is in different format than that of LSI generic spi_port_page_2 and hence mapping code is added. signed-off-by: NSathya Prakash <sathya.prakash@lsi.com> signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 31 7月, 2007 1 次提交
-
-
由 James Bottomley 提交于
Wire up the mpt_debug_level module parameter so you can write to the /sys/module/mptbase/parameters/mpt_debug_level and have it take effect in every ioc. Acked-by: N"Moore, Eric" <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 28 7月, 2007 1 次提交
-
-
由 Prakash, Sathya 提交于
This patch contains changes in mptbase.c to support logging in MPT fusion drivers. The changes are majorly in debug printks, the existing debugprintk are modified accroding to new debug macros defined in the file mptbdebug.h A new module parameter mpt_debug_level is added to pass the debug level as module parameter. signed-off-by: NSathya Prakash <sathya.prakash@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 19 7月, 2007 2 次提交
-
-
由 Prakash, Sathya 提交于
Add support for Brocade 410/420 4Gbit FC HBAs. They are re-branded LSI HBAs [LSI7104EP-LC/LSI7204EP-LC] Signed-off-by: NSathya Prakash <sathya.prakash@lsi.com> Acked-by: N"Moore, Eric" <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Prakash, Sathya 提交于
New sysfs scsi_host attributes are added to provide information about Firmware version, BIOS version, MPI version and other product related information signed-off-by: NSathya Praksh <sathya.prakash@lsi.com> Acked-by: N"Moore, Eric" <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 18 6月, 2007 2 次提交
-
-
由 Eric Moore 提交于
rewrite of mpt_fc_log_info to use the enum/defines from mpi_log_fc.h Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
Update assocated fusion sources with new support email address. Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 09 5月, 2007 1 次提交
-
-
由 Michael Opdenacker 提交于
Signed-off-by: NMichael Opdenacker <michael@free-electrons.com> Signed-off-by: NAdrian Bunk <bunk@stusta.de>
-
- 21 3月, 2007 1 次提交
-
-
由 Horms 提交于
Honour the return value of pci_enable_device(), which seems to be a desirable thing to do: 2.6.20-rc4 gcc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21) CC [M] drivers/message/fusion/mptbase.o drivers/message/fusion/mptbase.c: In function `mpt_resume': drivers/message/fusion/mptbase.c:1541: warning: ignoring return value of `pci_enable_device', declared with attribute warn_unused_result It also in turn has mptscsih_resume() honour the return value of mpt_resume() I'm not sure about the handling of the other potential error cases in mpt_resume(), of which there appear to be many. But this does seem to be a good start. Signed-off-by: NSimon Horman <horms@verge.net.au> Acked-by: N"Moore, Eric" <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 20 3月, 2007 1 次提交
-
-
由 Randy Dunlap 提交于
Fix kernel-doc warnings in fusion driver code. Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com> Acked-by: N"Moore, Eric" <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 03 2月, 2007 5 次提交
-
-
由 Eric Moore 提交于
bump version, and fix email addr for lsi support Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
misc error handling bug fix's - properly interpret iocstatus returned after task management request - clear tmState after a failed doorbell - cleanup mptscsih_taskmgmt_complete Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
inactive raid support, e.g. exposing hidden raid components belonging to a volume that are inactive. Also misc bug fix's for various raid asyn events. Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
various string updates for iocstatus, logingo, and fw asyn events. Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
Add support for greater than 255 target and luns. Kill the hd->Target[] field, and change all references of bus_id/target_id, to channel/id. Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 06 1月, 2007 1 次提交
-
-
由 Eric Moore 提交于
* Add modinfo driver version support. * Change copyright year to 2007. Signed-off-by: NEric Moore <Eric.Moore@lsi.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 08 12月, 2006 1 次提交
-
-
由 Randy Dunlap 提交于
Correct lots of typos, kernel-doc warnings, & kernel-doc usage in fusion and i2o drivers. Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 30 11月, 2006 1 次提交
-
-
由 Jan Engelhardt 提交于
Changes persistant -> persistent. www.dictionary.com does not know persistant (with an A), but should it be one of those things you can spell in more than one correct way, let me know. Signed-off-by: NJan Engelhardt <jengelh@gmx.de> Signed-off-by: NAdrian Bunk <bunk@stusta.de>
-
- 05 10月, 2006 1 次提交
-
-
由 David Howells 提交于
Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: NDavid Howells <dhowells@redhat.com> (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit)
-
- 13 7月, 2006 4 次提交
-
-
由 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>
-
由 Eric Moore 提交于
Fix's to insure download boot could occur when either channel of 1030 is reset. Necessary in order for onboard controller in flashless environment to become operational. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
Adding more sas loginfo strings. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Eric Moore 提交于
Fix panic for when mptctl is loading at the same time when one of the fusion llds (mptsas/mptfc/mptspi) is loading. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 03 7月, 2006 1 次提交
-
-
由 Thomas Gleixner 提交于
Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@elte.hu> Cc: "David S. Miller" <davem@davemloft.net> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 01 7月, 2006 3 次提交
-
-
由 Eric Moore 提交于
The way mpt_interrupt() was coded, it was impossible for the unhandled interrupt detection logic to ever trigger. All interrupt handlers should return IRQ_NONE when they have nothing to do. Signed-off-by: NJan Beulich <jbeulich@novell.com> Signed-off-by: NAndrew Morton <akpm@osdl.com> Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
由 Jörn Engel 提交于
Signed-off-by: NJörn Engel <joern@wohnheim.fh-wedel.de> Signed-off-by: NAdrian Bunk <bunk@stusta.de>
-
由 Adrian Bunk 提交于
Signed-off-by: NAdrian Bunk <bunk@stusta.de>
-
- 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>
-
- 20 6月, 2006 1 次提交
-
-
由 David S. Miller 提交于
This ugly hack was long overdue to die. It was a way to print out Sparc interrupts in a more freindly format, since IRQ numbers were arbitrary opaque 32-bit integers which vectored into PIL levels. These 32-bit integers were not necessarily in the 0-->NR_IRQS range, but the PILs they vectored to were. The idea now is that we will increase NR_IRQS a little bit and use a virtual<-->real IRQ number mapping scheme similar to PowerPC. That makes this IRQ printing hack irrelevant, and furthermore only a handful of drivers actually used __irq_itoa() making it even less useful. Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 11 6月, 2006 2 次提交
-
-
由 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 提交于
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>
-
- 31 5月, 2006 1 次提交
-
-
由 Vivek Goyal 提交于
MPT fusion driver initialization fails while second kernel is booting, after a system crash (if kdump kernel is configured). Oops message is pasted below. ***************************************************************************** Fusion MPT base driver 3.03.08 Copyright (c) 1999-2005 LSI Logic Corporation Fusion MPT SAS Host driver 3.03.08 ACPI: PCI Interrupt 0000:01:00.0[A] -> Link [LNKA] -> GSI 5 (level, low) -> IRQ 5 mptbase: Initiating ioc0 bringup BUG: unable to handle kernel paging request at virtual address 00002608 printing eip: c11782fd *pde = 00000000 Oops: 0000 [#1] Modules linked in: CPU: 0 EIP: 0060:[<c11782fd>] Not tainted VLI EFLAGS: 00010046 (2.6.17-rc1-16M #2) EIP is at mptscsih_io_done+0x27/0x3a3 eax: c4fed000 ebx: c4fed000 ecx: 00002600 edx: 00000298 esi: c11782d6 edi: 00002600 ebp: 00000000 esp: c1332f74 ds: 007b es: 007b ss: 0068 Process swapper (pid: 0, threadinfo=c1332000 task=c128f9c0) Stack: <0>0000006c 00000020 00000298 00002600 c4fed000 c4fed000 c11782d6 0000260 0 00000000 c1172c49 c4fed000 c1305b40 00000005 00000000 c1172d75 c48877e0 c1029687 00000000 c1307fb8 00000000 c1305a00 00000001 00000000 c1307fb8 Call Trace: <c11782d6> mptscsih_io_done+0x0/0x3a3 <c1172c49> mpt_turbo_reply+0xbb/0xd3 <c1172d75> mpt_interrupt+0x22/0x2b <c1029687> misrouted_irq+0x63/0xcb <c10297b3> note_interrupt+0x43/0x98 <c10292f9> __do_IRQ+0x68/0x8f <c1003fac> do_IRQ+0x36/0x4e ======================= <c1002aa6> common_interrupt+0x1a/0x20 <c1001150> mwait_idle+0x1a/0x2a <c10010bf> cpu_idle+0x40/0x5c <c1308610> start_kernel+0x17a/0x17c Code: 5e 5f 5d c3 55 89 cd 57 56 53 83 ec 14 89 54 24 0c 89 44 24 10 8b 90 cc 00 00 00 8b 4c 24 0c 81 c2 98 02 00 00 85 ed 89 54 24 08 <0f> b7 79 08 89 fe 74 04 0f b7 75 08 66 39 f7 75 0d 8b 44 24 0c ******************************************************************************* o Kdump capture kernel boot fails during initialization of MPT fusion driver. (LSI Logic / Symbios Logic SAS1064E PCI-Express Fusion-MPT SAS (rev 01)) o Problem is easily reproducible, if system crashed while some disk activity like cp operation was going on. o After a system crash, devices are not shutdown and capture kernel starts booting while skipping BIOS. Hence underlying device is left in operational state. In this case scsi contoller was left with interrupt line asserted reply FIFO was not empty. When driver starts initializing in the second kernel, it receives the interrupt the moment request_irq() is called. Interrupt handler, reads the message from reply FIFO and tries to access the associated message frame and panics, as in the new kernel's context that message frame is not valid at all. o In this scenario, probably we should delay the request_irq() call. First bring up the IOC, reset it if needed and then should register for irq. o I have tested the patch with SAS1064E and 53c1030 controllers. Signed-off-by: NVivek Goyal <vgoyal@in.ibm.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Acked-by: N"Moore, Eric Dean" <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 20 5月, 2006 1 次提交
-
-
由 James Bottomley 提交于
All registered reset callback handlers are called during reset processing. The mptspi modules has its own reset callback handler, just recently added for issuing domain validation after host reset. If either the mptsas or mptfc driver are loaded, this callback could be called. Thus resulting in domain validation being issued for sas or fibre end devices. Fix this by having mptbase.c check the bus type against the driver type and only call the reset handler if they match (or if it's a non-bus specific reset handler). Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 28 4月, 2006 1 次提交
-
-
由 Eric Moore 提交于
Bug fix for stack overflow in EventDescriptionStr, (a function for debuging firmware events). We allocated 50 bytes on local stack for buff[], however there are places in the code where we've attempted copying in greater than 50 bytes into buff[]. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-
- 26 4月, 2006 2 次提交
-
-
由 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>
-
由 Moore, Eric 提交于
This patch handles case where raid hidden components are not being removed when power turned off to device attached to expander, as well as the case of exposing raid components when power is turned back on to devices attached to an expander. (This is a repost of this patch, with mptsas_is_end_device declared further up in the code.) This patch contains some other miscellaneous bug fix's. Signed-off-by: NEric Moore <Eric.Moore@lsil.com> Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
-