- 27 2月, 2007 10 次提交
-
-
由 Ron Mercer 提交于
To Reproduce the Problem: To reproduce this panic consistently, we run an intensive network application like 'netperf' and then switch to a different console. After waiting for a couple of seconds, you will see a tx reset has occured. Reason: We enable interrupts even if we were not running. Solution: Now we will enable interrupts only after we are ready to give up the poll routine. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Benjamin Li 提交于
qla3xxx: Check return code from pci_map_single() in ql_release_to_lrg_buf_free_list(), ql_populate_free_queue(), ql_alloc_large_buffers(), and ql3xxx_send() pci_map_single() could fail. We need to properly check the return code from pci_map_single(). If we can not properly map this address, then we should cleanup and return the proper return code. Signed-off-by: NBenjamin Li <benjamin.li@qlogic.com> Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
The scatter/gather lists were not being build correctly. When large frames spanned several buffers the chip would panic. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
This change removes use of constants for rx buffer queue size and instead calculates the queue length based on what he MTU is set to. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
This network device driver shares the same hardware as the qla4xxx iSCSI driver. Changing the MTU via the device interface will cause qla4xxx to crash as there is no way to make notification. Users wishing to change the MTU must do so using an iSCSI utility such as Qlogic SanSurfer. This forces the user to unload/reload this network device driver after the MTU value has been changed in flash. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Benjamin Li 提交于
1) Fix deadlock issue when in QL_RESET_ACTIVE state and traversing through the Link State Machine 2) Fix deadlock issue when ethtool would call ql_get_settings() 3) Fix deadlock issue when adaptor is ifup'ed but adaptor fails to initialize Signed-off-by: NBenjamin Li <benjamin.li@qlogic.com> Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Benjamin Li 提交于
Signed-off-by: NBenjamin Li <benjamin.li@qlogic.com> Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Benjamin Li 提交于
We do not need to zero out the 64 byte MAC request I/O control block. By zeroing out the control block and setting it to proper fields is redundant work. This is because in the qla3xxx_send() function we will already set the proper fields in this structure. The unused fields are not looked at by the hardware and do not need to be zeroed out. Signed-off-by: NBenjamin Li <benjamin.li@qlogic.com> Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Benjamin Li 提交于
The return code was not properly set when when allocating memory or mapping memory failed. Depending on the stack, the return code would sometimes return 0, which indicates everything was ok, when in fact there was an error. This would cause trouble when the module was removed. Now, we will pass back the proper return code when an error occurs during the PCI probe. Signed-off-by: NBenjamin Li <benjamin.li@qlogic.com> Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 15 2月, 2007 1 次提交
-
-
由 Thomas Gleixner 提交于
The obsolete SA_xxx interrupt flags have been used despite the scheduled removal. Fixup the remaining users. Signed-off-by: NThomas Gleixner <tglx@linutronix.de> Acked-by: NIngo Molnar <mingo@elte.hu> Cc: "Luck, Tony" <tony.luck@intel.com> Cc: Roman Zippel <zippel@linux-m68k.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Jeff Garzik <jeff@garzik.org> Cc: Wim Van Sebroeck <wim@iguana.be> Cc: Roland Dreier <rolandd@cisco.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: James Bottomley <James.Bottomley@steeleye.com> Cc: Greg KH <greg@kroah.com> Cc: Dave Airlie <airlied@linux.ie> Cc: James Simmons <jsimmons@infradead.org> Cc: "Antonino A. Daplas" <adaplas@pol.net> Signed-off-by: NAndrew Morton <akpm@linux-foundation.org> Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
-
- 06 2月, 2007 1 次提交
-
-
由 Ron Mercer 提交于
Qlogic 4032 chip is an incremental change from the 4022. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 08 1月, 2007 2 次提交
-
-
由 Ron Mercer 提交于
When accessing the 93LC86 serial prom the clock high and low times must be at least 250ns each. We have seen on some systems where the access times were much lower casing bit errors. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
Driver TX locking was removed some time ago, but the flag was overlooked. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 22 11月, 2006 1 次提交
-
-
由 David Howells 提交于
Fix up for make allyesconfig. Signed-Off-By: NDavid Howells <dhowells@redhat.com>
-
- 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)
-
- 25 9月, 2006 2 次提交
-
-
由 Al Viro 提交于
ql3xxx_probe() does ioremap and stores result in ->mem_map_registers. On failure exit it does iounmap() of the same thing. OTOH, ql3xxx_remove() does iounmap() of ->mmap_virt_base which is (a) never assigned and (b) never used other than in that iounmap() call. Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
由 Al Viro 提交于
the driver is still shite, though... Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk> Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
-
- 14 9月, 2006 1 次提交
-
-
由 Jeff Garzik 提交于
Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 29 7月, 2006 1 次提交
-
-
由 Ron Mercer 提交于
This is a complementary network driver for our ISP4XXX parts. There is a concurrent effort underway to get the iSCSI driver (qla4xxx) integrated upstream as well. I have been through several iterations with the linux-netdev list and have had much response from Stephen Hemminger. - Built and tested using kernel 2.6.17-rc4. - The chip supports two ethernet and two iSCSI functions. - The functions ql_sem_lock, ql_sem_spinlock, ql_sem_unlock, and ql_wait_for_drvr_lock are used to protect resources that are shared across the network and iSCSI functions. This protection is mostly during chip initialization and resets, but also include link management. - The PHY/MII are not exported through ethtool due to the fact that the iSCSI function will control the common link at least 50% of the time. This driver has been through several iterations on the netdev list and we feel this driver is ready for inclusion in the upstream kernel. It has been built and tested on x86 and PPC64 platforms. Cc: Jeff Garzik <jeff@garzik.org> Cc: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NAndrew Morton <akpm@osdl.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-