1
Commit Graph

1225 Commits

Author SHA1 Message Date
Manfred Spraul
1836098f97 [PATCH] forcedeth: fix random memory scribbling bug
Two critical bugs were found in forcedeth 0.47:
 - TSO doesn't work.
 - pci_map_single() for the rx buffers is called with size==0.  This bug
   is critical, it causes random memory corruptions on systems with an
   iommu.

Below is a minimal fix for both bugs, for 2.6.15.

TSO will be fixed properly in the next version.  Tested on x86-64.

Signed-Off-By: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-24 11:53:32 -08:00
Adrian Bunk
14904398e5 [SUNGEM]: Fix link error with CONFIG_HOTPLUG disabled.
gem_remove_one() is called from the __devinit gem_init_one().

Therefore, gem_remove_one() mustn't be __devexit.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-22 23:09:44 -08:00
Michael Chan
38690194bc [TG3]: Fix ethtool memory test
Skip the memory 0xb50 to 0x1000 during "ethtool -t" memory test.
Overwriting memory in this region can cause ASF problems.

Update version and release date.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:27:28 -08:00
Michael Chan
b401e9e2ec [TG3]: Add tw32_wait_f() for some sensitive registers
The tw32_f() function (register write with immediate read flush) can
hang when used on some registers to switch clock frequencies and
power. A new tw32_wait_f() is added for such registers with the
delay before the read and after the read.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:27:04 -08:00
Michael Chan
dc56b7d46d [TG3]: Some low power fixes
Add some missing workarounds in tg3_set_power_state():

1. Workaround to prevent overdrawing current on 5714.

2. Do not power down 5700's PHY because of hw limitation.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:26:28 -08:00
Michael Chan
8c2dc7e1e7 [TG3]: Fix peer device handling
Locate the pdev_peer for dual port 5714 NIC devices in addition to
5704 devices. The name is also changed to tg3_find_peer() from
tg3_find_5704_peer(). It is also necessary to call netdev_priv() to
get to the peer's private tg3 structure.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-19 16:26:02 -08:00
Al Viro
37eb47ed44 [PATCH] s2io: __iomem annotations for recent changes
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-12-15 10:04:29 -08:00
Michael Chan
6921d201f7 [TG3]: Fix low power state
Fix the following bugs in tg3_set_power_state():

1. Both WOL and ASF flags require switching to aux power.

2. Add a missing handshake with firmware to enable WOL.

3. Turn off the PHY if both WOL and ASF are disabled.

4. Add nvram arbitration before halting the firmware.

5. Fix tg3_setup_copper_phy() to switch to 100Mbps when
   changing to low power state.

Update revision and date.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:15:53 -08:00
Michael Chan
16fe9d74f1 [TG3]: Fix 5704 single-port mode
If the dual-port 5704 is configured as a single-port device with
only one PCI function, it would trigger a BUG() condition in
tg3_find_5704_peer(). This fixes the problem by returning its
own pdev if the peer cannot be found.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:09:54 -08:00
Michael Chan
6a9eba15f5 [TG3]: Fix suspend and resume
Fix tg3_suspend() and tg3_resume() by clearing and setting the
TG3_FLAG_INIT_COMPLETE flag when appropriate. tg3_set_power_state()
looks at TG3_FLAG_INIT_COMPLETE on the peer device to determine
when to appropriately switch to aux power.  

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:08:58 -08:00
Michael Chan
381291b7d3 [TG3]: Fix nvram arbitration bugs.
The nvram arbitration rules were not strictly followed in a few places
and this could lead to reading corrupted values from the nvram.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-13 21:08:21 -08:00
Jeff Garzik
98684a9d91 [netdrvr skge] fix build 2005-12-13 11:35:22 -05:00
Stephen Hemminger
ee1c81917a [PATCH] skge: get rid of warning on race
Get rid of warning in case of race with ring full and lockless
tx on the skge driver. It is possible to be in the transmit
routine with no available slots and already stopped.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 23:33:03 -05:00
Olaf Hering
016cc85072 [PATCH] pcnet32: use MAC address from prom also on powerpc
The CSR contains garbage after a coldboot on RS/6000.
One some systems (like my 44p 270) the MAC address is all FF,
on others (like my B50) it is ff:ff:ff:fd:ff:6b.

It can eventually be fixed by loading pcnet32, set the interface
into the UP state, rmmod pcnet32 and load it again. But this worked
only on the 270.

Only netbooting after a cold start provides the correct MAC address
via prom and CSR. This makes it very unreliable.
I dont know why the MAC is stored in two different places. Remove
the special case for powerpc, which was added in early 2.4 development.

Signed-off-by: Olaf Hering <olh@suse.de>

 drivers/net/pcnet32.c |    5 -----
 1 files changed, 5 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-12 15:30:38 -05:00
Jeff Garzik
20234989a8 Merge branch 'master' 2005-12-12 15:30:15 -05:00
Stephen Hemminger
1f064a87c8 [TG3]: remove warning on race
[ Move assosciated code comment to the correct spot, and
  update driver version and release date -DaveM ]

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-12-06 17:36:44 -08:00
Stephen Hemminger
92f268e034 [PATCH] sk98lin: rx checksum offset not set
The checksum offsets for receive offload were not being set correctly.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-06 04:43:40 -05:00
Jeff Garzik
ea182d4aef [netdrvr skge] fix typo, fix build 2005-12-01 04:31:32 -05:00
Komuro
ab80882bf3 [netdrvr fmvj18x_cs] fix multicast bug
* use set_rx_mode to (re)initialize the multicast table.
* MC_FILTERBREAK is 64 (= 8 * 8bit)
* remove local_info_t.mc_filter
2005-12-01 02:37:17 -05:00
Matthieu CASTET
1d97f38448 [wireless airo] reset card in init
without this patch after an rmmod, modprobe the card won't work anymore
until the next reboot.

This patch seem safe to apply for all cards as the bsd driver already do
that.

I had to add a timeout because strange things happen (issuecommand will
fail) if the card is already reseted (after a reboot).

PS : it seems there are missing reset when leaving monitor mode...

Signed-off-by: Matthieu CASTET <castet.matthieu@free.fr>
2005-12-01 02:35:26 -05:00
Stephen Hemminger
1096e87174 [PATCH] skge: handle VLAN checksum correctly on yukon rev 0
If using UDP over VLAN, with the skge driver there is a possibility
of generating an incorrect checksum. This is a unlikely occurrence
because it is only an issue on Yukon revision 0, and that revision
doesn't seem to exist on any current hardware (probably early prototype).

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:28:56 -05:00
Pavel Roskin
c08ad1e304 [PATCH] orinoco: fix setting power management parameters
Power management parameters could not be set by iwconfig due to
incorrect error handling.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:28:56 -05:00
Ralf Baechle
ee7ebdf402 [PATCH] jazzsonic: Fix platform device code
Use platform_driver_unregister not driver_unregister to unregister a
struct platform_driver.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:26:46 -05:00
Ralf Baechle
23c2a7b5de [PATCH] jazzsonic: Fix build error.
jazz_sonnic_device -> jazz_sonic_device

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:26:46 -05:00
Ralf Baechle
56344d822e [PATCH] mipsnet: Fix Copyright notice.
Sorry, no sekr1t mips c0dez ;-)

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:26:45 -05:00
Eugene Surovegin
8169bd9191 [PATCH] ibm_emac: fix graceful stop timeout handling
This patch fixes graceful stop timeout handling in PPC4xx EMAC driver.

Currently, when we stop TX/RX channels we just do some number of loops
without relying on actual spent time. This has finally bitten me on
one of our systems (heavy network traffic during start up, RX channel
is stopped several times to configure multicast list).

Graceful channel stop can take up to 1 frame time, so I've added
device specific timeout counter which depends on current link speed
and calls to udelay() to really wait required amount of time before
giving up.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:23:35 -05:00
shemminger@osdl.org
be0df20cb5 [PATCH] sk98lin: avoid message confusion with skge
Avoid possible confusion between skge and sk98lin driver by
tagging messages properly.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:22:03 -05:00
shemminger@osdl.org
4f4c815042 [PATCH] sk98lin: add permanent address support
Add permanent address and link status support via ethtool.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:22:03 -05:00
shemminger@osdl.org
596f86a8d8 [PATCH] sk98lin: fix checksumming code
Remove code from sk98lin that does it's own checksum validation.
This code is incorrect when dealing with nested protocols like
VLAN's, and it is better to use regular receive code path to
handle hardware checksum.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:22:03 -05:00
Jesse Brandeburg
a174fd88d2 [PATCH] e1000: fix for dhcp issue
Parse outgoing packets in e1000_transfer_dhcp_info as raw packet even if
protocol bits are set.  pump, for instance causes kernel panic on some
systems, if parsed via udp header.

Thanks to Derrell Lipman <Derrell.Lipman@BacklotTech.com> for reporting and
testing.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-12-01 02:10:11 -05:00
Francois Romieu
981d9c176d b44: increase version number
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2005-11-30 22:35:39 +01:00
Francois Romieu
3410572d51 b44: early return in dev->do_ioctl when the device is not up
The device has not gone through a whole reset/init sequence until the
device is up. Accessing the mii interface before this point is not
safe.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
2005-11-30 22:32:13 +01:00
Mark Lord
d9e2d185bf b44: missing netif_wake_queue() in b44_open()
This patch fixes a problem plaguing Dell notebooks with built-in b44
ethernet: The driver refuses to transmit packets of any kind until after
the first 5-second tx_timeout occurs. This bug causes DHCP negotiation to
fail (timeout) during installation of Ubuntu Linux.

Signed-off-by: Mark Lord <lkml@rtr.ca>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2005-11-30 22:30:23 +01:00
Richard Knutsson
18317ab0ca [PATCH] net: Fix compiler-error on dgrs.c when !CONFIG_PCI
drivers/net/dgrs.c: In function `dgrs_init_module':
drivers/net/dgrs.c:1598: `dgrs_pci_driver' undeclared (first use in this function)

Signed-off-by: Richard Knutsson <ricknu-0@student.ltu.se>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-11-22 09:13:41 -08:00
Jeff Garzik
f7492f17f2 [wireless hermes] build fix 2005-11-18 15:06:59 -05:00
Jeff Garzik
51c83a946d Merge branch 'upstream-fixes' of git://git.tuxdriver.com/git/netdev-jwl 2005-11-18 13:57:44 -05:00
James Ketrenos
eaf8f53bc0 [PATCH] ipw2100: Fix 'Driver using old /proc/net/wireless...' message
ipw2100: Fix 'Driver using old /proc/net/wireless...' message

Wireless extensions moved the get_wireless_stats handler from being
in net_device into wireless_handler.

A prior instance of this patch resolved the issue for the ipw2200.
This one fixes it for the ipw2100.

Signed-off-by: Benoit Boissinot <benoit.boissinot@ens-lyon.org>
Signed-off-by: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-18 13:51:40 -05:00
John W. Linville
a7a461b32f [PATCH] fec_8xx: make CONFIG_FEC_8XX depend on CONFIG_8xx
Change CONFIG_FEC_8XX to depend on CONFIG_8xx instead of CONFIG_FEC.
CONFIG_FEC depends on ColdFire CPUs, which does not apply for the
PPC 8xx processors.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
2005-11-18 13:51:34 -05:00
Gabriel A. Devenyi
c5b42f343d [PATCH] drivers/net/wireless/hermes.c unsigned int comparision
hermas_bap_pread,  hermes_bap_pwrite, and hermes_bap_pwrite_pad all have a parameter "len" that is declared unsigned,
but checked for a value less than zero. Auditing the callers, it is possible for len to be passed a negative value, so len should be an int.

Thanks to LinuxICC (http://linuxicc.sf.net)

Signed-off-by: Gabriel A. Devenyi <ace@staticwave.ca>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:31:00 -05:00
Roger While
cbf7c42b72 [PATCH] prism54 : Remove extraneous udelay/register read
In isl_38xx.c
In routine isl38xx_trigger-device

Move unnecessary udelay/register read.
This is only required when hand-compiling the driver and
setting  VERBOSE > SHOW_ERROR_MESSAGES

Signed-off-by: Roger While <simrw@sim-basis.de>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:29:41 -05:00
Ralf Baechle
3445470932 [PATCH] SAA9730: Add missing header bits.
This header file patch was missing from the recent SAA9730 patch.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:29:41 -05:00
Ralf Baechle
0c0abbc580 [PATCH] au1000_eth: Include <linux/config.h>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

The Au1000 ethernet driver references plenty of CONFIG_* symbols.
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:29:41 -05:00
Ralf Baechle
70f1e002cf [PATCH] IOC3: Replace obsolete PCI API
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:29:41 -05:00
John W. Linville
620d9aa95b [PATCH] i82593.h: make header comment GPL-compatible
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:29:06 -05:00
Jesse Brandeburg
2afecc047e [PATCH] e100: re-enable microcode with more useful defaults
For the four versions of hardware that we (currently) support microcode
download on, the default configuration of our receive interrupt mitigation
microcode was too aggressive, and caused unnecessary delays when pinging,
and low(er) throughput on single connection latency sensitive performance
tests.

This code adds microcode support, and sets the defaults to more reasonable
settings. It also explains the functionality in the code in more detail.
Compile and load tested, shows expected behavior for slight delay of ping
packets (1-2ms) when ucode is loaded, and decent interrupt moderation for
small packets, while maintaining good throughput.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:27:07 -05:00
Jeff Garzik
f1b8c63ef4 Merge branch 'halasa-hdlc' of git://git.tuxdriver.com/git/netdev-jwl 2005-11-18 13:24:33 -05:00
Jeff Garzik
9724212646 Merge branch 'for-jeff' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6 2005-11-18 13:21:24 -05:00
Russell King
e52542443a [PATCH] smc91x: fix bank mismatch
The smc91x driver relies upon register bank 2 being selected whenever
the interrupt handler is called.  This isn't always so, especially if
we have a link change event during PHY configuration.

This results in register bank 0 being selected when the interrupt
handler is called, causing the wrong registers to be read for the
IRQ mask and status.  In turn, this causes us to spin with a
permanently asserted IRQ.

The patch ensures that smc_phy_configure always exits with register
bank 2 selected.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:10:30 -05:00
Nicolas Pitre
5d0571d915 [PATCH] smc91x: fix one source of spurious interrupts
Not only SMC_ACK_INT(IM_TX_EMPTY_INT) in in smc_hardware_send_pkt)
appears to be unnecessary (tested with an SMC91C94 and SMC91C111), but
it seems to trigger spurious interrupts on some machines as well.
Removed.

While at it, let's log any remaining spurious interrupts if any (and
clean usage of the max IRQ loop count value).

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-11-18 13:10:30 -05:00
Zhu Yi
3b26b1100e [PATCH] ipw2200: fix error log offset calculation
This fixes a slab corruption issue in the ipw2200 driver: it essentially
multiplied the error log number _twice_ by the size of the error element
entry (once explicitly in the code, and once implicitly as part of the
regular pointer arithmetic).

Cc: Henrik Brix Andersen <brix@gentoo.org>
Cc: Bernard Blackham <bernard@blackham.com.au>
Cc: Zilvinas Valinskas <zilvinas@gemtek.lt>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Zhu Yi <yi.zhu@intel.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
--
2005-11-17 08:32:58 -08:00