- 03 6月, 2007 1 次提交
-
-
由 Stephen Hemminger 提交于
Reading the code for ql_hw_csum_setup(), it is obvious that this driver is broken for IPV6. The driver sets the NETIF_F_HW_SUM flag, but the code for checksum setup only deals with IPV4. Compile tested only, no hardware available. Signed-off-by: NStephen Hemminger <shemminger@linux-foundation.org> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 28 4月, 2007 5 次提交
-
-
由 Adrian Bunk 提交于
On Fri, Mar 30, 2007 at 01:05:59AM -0700, Andrew Morton wrote: >... > Changes since 2.6.21-rc5-mm2: >... > git-netdev-all.patch >... > git trees >... This patch makes the needlessly global PHY_DEVICES[] static. Signed-off-by: NAdrian Bunk <bunk@stusta.de> 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 PHY support patch was written by 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>
-
由 Ron Mercer 提交于
Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Adrian Bunk 提交于
This patch makes two needlessly global functions static. Signed-off-by: NAdrian Bunk <bunk@stusta.de> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 26 4月, 2007 2 次提交
-
-
由 Arnaldo Carvalho de Melo 提交于
To clearly state the intent of copying from linear sk_buffs, _offset being a overly long variant but interesting for the sake of saving some bytes. Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
-
由 Arnaldo Carvalho de Melo 提交于
One less thing for drivers writers to worry about. Signed-off-by: NArnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: NDavid S. Miller <davem@davemloft.net>
-
- 28 3月, 2007 4 次提交
-
-
由 Ron Mercer 提交于
Fixed rx checksum bits. Turn on TCP processing for rx checksum. Fixed max frame length register write. It wasn't getting set in multi-port system. Set rx buffer queue length properly for jumbo frames. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
Update the rx queue pointer when exiting NAPI poll rather than at the end of each iteration. Remove unnecessary PCI flushes that occurred after every write. Now write all regs and flush once. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
The proper header length was not being used. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
由 Ron Mercer 提交于
This was removed in a previous patch to increase performance, but caused a transmit error for the 4032 chip. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 03 3月, 2007 1 次提交
-
-
由 Ron Mercer 提交于
This missing line caused transmit errors on the Qlogic 4032 chip. Signed-off-by: NRon Mercer <ron.mercer@qlogic.com> Signed-off-by: NJeff Garzik <jeff@garzik.org>
-
- 27 2月, 2007 12 次提交
-
-
由 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 提交于
To reproduce this panic consistently, we run an intensive network application like 'netperf'. After waiting for a couple of seconds, you will see a stack trace and a kernel panic where we are calling pci_unmap_single() in ql_poll(). Changes: 1) Check the flags on the Response MAC IO Control block to check for errors 2) Ensure that if we are on the 4022 we only use one segment 3) Before, we were reading the memory mapped producer index register everytime we iterated in the loop when clearing the queue. We should only be iterating to a known point, not as the producer index is being updated. 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 提交于
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>
-