GitHub/MotorolaMobilityLLC/kernel-slsi.git
16 years agoMerge branch 'upstream-next-davem' of master.kernel.org:/pub/scm/linux/kernel/git...
David S. Miller [Thu, 29 May 2008 10:31:03 +0000 (03:31 -0700)]
Merge branch 'upstream-next-davem' of /linux/kernel/git/jgarzik/netdev-2.6

16 years agotcp: Reorganize tcp_sock to fill 64-bit holes & improve locality
Ilpo Järvinen [Thu, 29 May 2008 10:25:23 +0000 (03:25 -0700)]
tcp: Reorganize tcp_sock to fill 64-bit holes & improve locality

I tried to group recovery related fields nearby (non-CA_Open related
variables, to be more accurate) so that one to three cachelines would
not be necessary in CA_Open. These are now contiguously deployed:

  struct sk_buff_head        out_of_order_queue;   /*  1968    80 */
  /* --- cacheline 32 boundary (2048 bytes) --- */
  struct tcp_sack_block      duplicate_sack[1];    /*  2048     8 */
  struct tcp_sack_block      selective_acks[4];    /*  2056    32 */
  struct tcp_sack_block      recv_sack_cache[4];   /*  2088    32 */
  /* --- cacheline 33 boundary (2112 bytes) was 8 bytes ago --- */
  struct sk_buff *           highest_sack;         /*  2120     8 */
  int                        lost_cnt_hint;        /*  2128     4 */
  int                        retransmit_cnt_hint;  /*  2132     4 */
  u32                        lost_retrans_low;     /*  2136     4 */
  u8                         reordering;           /*  2140     1 */
  u8                         keepalive_probes;     /*  2141     1 */

  /* XXX 2 bytes hole, try to pack */

  u32                        prior_ssthresh;       /*  2144     4 */
  u32                        high_seq;             /*  2148     4 */
  u32                        retrans_stamp;        /*  2152     4 */
  u32                        undo_marker;          /*  2156     4 */
  int                        undo_retrans;         /*  2160     4 */
  u32                        total_retrans;        /*  2164     4 */

...and they're then followed by URG slowpath & keepalive related
variables.

Head of the out_of_order_queue always needed for empty checks, if
that's empty (and TCP is in CA_Open), following ~200 bytes (in 64-bit)
shouldn't be necessary for anything. If only OFO queue exists but TCP
is in CA_Open, selective_acks (and possibly duplicate_sack) are
necessary besides the out_of_order_queue but the rest of the block
again shouldn't be (ie., the other direction had losses).

As the cacheline boundaries depend on many factors in the preceeding
stuff, trying to align considering them doesn't make too much sense.

Commented one ordering hazard.

There are number of low utilized u8/16s that could be combined get 2
bytes less in total so that the hole could be made to vanish (includes
at least ecn_flags, urg_data, urg_mode, frto_counter, nonagle).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Acked-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowanrouter: Fix ioctl handler declaration.
David S. Miller [Thu, 29 May 2008 08:43:48 +0000 (01:43 -0700)]
wanrouter: Fix ioctl handler declaration.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Update version to 3.93
Matt Carlson [Mon, 26 May 2008 06:51:01 +0000 (23:51 -0700)]
tg3: Update version to 3.93

This patch increments the version to 3.93.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add shmem options.
Matt Carlson [Mon, 26 May 2008 06:49:44 +0000 (23:49 -0700)]
tg3: Add shmem options.

This patch adds some options obtained through shared memory.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add 5785 ASIC revision
Matt Carlson [Mon, 26 May 2008 06:48:31 +0000 (23:48 -0700)]
tg3: Add 5785 ASIC revision

This patch added the 5785 device ID and ASIC revision to the code.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add libphy support.
Matt Carlson [Mon, 26 May 2008 06:47:41 +0000 (23:47 -0700)]
tg3: Add libphy support.

This patch introduces the libphy support.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add mdio bus registration
Matt Carlson [Thu, 29 May 2008 08:37:54 +0000 (01:37 -0700)]
tg3: Add mdio bus registration

This patch introduces code to register and unregister the tg3 mdio bus
with the system.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Add TG3_FLG3_USE_PHYLIB
Matt Carlson [Mon, 26 May 2008 06:45:58 +0000 (23:45 -0700)]
tg3: Add TG3_FLG3_USE_PHYLIB

This patch introduces the TG3_FLG3_USE_PHYLIB flag and applies it to
some select places.  This work makes later patches a little easier to
read.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Code cleanup.
Matt Carlson [Mon, 26 May 2008 06:45:08 +0000 (23:45 -0700)]
tg3: Code cleanup.

This patch applies cleanups that would otherwise clutter later
patches.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotg3: Pure code movement.
Matt Carlson [Mon, 26 May 2008 06:44:14 +0000 (23:44 -0700)]
tg3: Pure code movement.

This patch moves some functions towards the top of the file to avoid
unnecessary function prototypes.

Signed-off-by: Matt Carlson <mcarlson@broadcom.com>
Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: Benjamin Li <benli@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoirda: Push BKL down into irda ioctl handlers
Alan Cox [Mon, 26 May 2008 06:43:11 +0000 (23:43 -0700)]
irda: Push BKL down into irda ioctl handlers

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agowanrouter: Push down BKL
Alan Cox [Mon, 26 May 2008 06:41:40 +0000 (23:41 -0700)]
wanrouter: Push down BKL

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoppp: push BKL down into the driver
Alan Cox [Mon, 26 May 2008 06:40:58 +0000 (23:40 -0700)]
ppp: push BKL down into the driver

I've pushed it down as far as I dare at this point. Someone familiar with
the internal PPP semantics can probably push it further. Another step to
eliminating the old BKL ioctl usage.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Mon, 26 May 2008 06:26:10 +0000 (23:26 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6

Conflicts:

drivers/net/cpmac.c
net/mac80211/mlme.c

16 years agovlan: Use bitmask of feature flags instead of seperate feature bits
Patrick McHardy [Fri, 23 May 2008 07:22:04 +0000 (00:22 -0700)]
vlan: Use bitmask of feature flags instead of seperate feature bits

Herbert Xu points out that the use of seperate feature bits for features
to be propagated to VLAN devices is going to get messy real soon.
Replace the VLAN feature bits by a bitmask of feature flags to be
propagated and restore the old GSO_SHIFT/MASK values.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoMerge branch 'upstream-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
David S. Miller [Fri, 23 May 2008 07:05:14 +0000 (00:05 -0700)]
Merge branch 'upstream-davem' of /linux/kernel/git/jgarzik/netdev-2.6

16 years agovia-velocity: use memmove
Stephen Hemminger [Wed, 16 Apr 2008 23:37:32 +0000 (16:37 -0700)]
via-velocity: use memmove

Use memmove to handle overlapping copy of data.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agovia-velocity: use netdev_alloc_skb
Stephen Hemminger [Wed, 16 Apr 2008 23:37:31 +0000 (16:37 -0700)]
via-velocity: use netdev_alloc_skb

Use netdev_alloc_skb for rx buffer allocation. This sets skb->dev
and can be overriden for NUMA machines.

Change code to return new buffer rather than call by reference.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodl2k: use netdev_alloc_skb
Stephen Hemminger [Wed, 16 Apr 2008 23:37:39 +0000 (16:37 -0700)]
dl2k: use netdev_alloc_skb

Use netdev_alloc_skb. This sets skb->dev and allows arch specific
allocation.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agohamachi: use netdev_alloc_skb
Stephen Hemminger [Wed, 16 Apr 2008 23:37:38 +0000 (16:37 -0700)]
hamachi: use netdev_alloc_skb

Use netdev_alloc_skb. This sets skb->dev and allows arch specific
allocation.

Remove dead code and dead comments.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoixp2000: use netdev_alloc_skb
Stephen Hemminger [Wed, 16 Apr 2008 23:37:37 +0000 (16:37 -0700)]
ixp2000: use netdev_alloc_skb

Use netdev_alloc_skb. This sets skb->dev and allows arch specific
allocation.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosb1250: use netdev_alloc_skb
Maciej W. Rozycki [Mon, 5 May 2008 12:34:31 +0000 (13:34 +0100)]
sb1250: use netdev_alloc_skb

 Use netdev_alloc_skb.  This sets skb->dev and allows arch specific
allocation.  Also simplify and cleanup the alignment code.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoatl1: use netdev_alloc_skb
Stephen Hemminger [Wed, 16 Apr 2008 23:37:29 +0000 (16:37 -0700)]
atl1: use netdev_alloc_skb

Use netdev_alloc_skb for rx buffer allocation. This sets skb->dev
and can be overriden for NUMA machines.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agotg3: remove unneeded semicolons
Stephen Hemminger [Wed, 16 Apr 2008 23:37:28 +0000 (16:37 -0700)]
tg3: remove unneeded semicolons

Remove extraneous semicolons after switch and conditional statements.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agofmvj18x_cs: add NextCom NC5310 rev B support
Komuro [Mon, 5 May 2008 01:51:12 +0000 (10:51 +0900)]
fmvj18x_cs: add NextCom NC5310 rev B support

fmvj18x_cs: The manfid of "NextCom NC5310 rev B" is MANF_ID_FUJITSU.
            but this card is MBH10302 based card.
            use ConfigBase to detect the cardtype for this card.

Signed-off-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoxirc2ps_cs: re-initialize the multicast address in do_reset
Komuro [Sun, 20 Apr 2008 05:32:34 +0000 (14:32 +0900)]
xirc2ps_cs: re-initialize the multicast address in do_reset
            keep bit7,8 of XIRCREG42_SWC1 in set_multicast_list.

Signed-off-by: Komuro <komurojun-mbn@nifty.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago3C509: rx_bytes should not be increased when alloc_skb failed
Wang Chen [Tue, 20 May 2008 09:13:52 +0000 (17:13 +0800)]
3C509: rx_bytes should not be increased when alloc_skb failed

If alloc_skb failed, the recieved packet will be dropped. Do not increase
rx_bytes for dropped packet.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoNETFRONT: Use __skb_queue_purge()
Wang Chen [Thu, 22 May 2008 10:09:06 +0000 (18:09 +0800)]
NETFRONT: Use __skb_queue_purge()

Use standard routine for queue purging.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoVIRTIO: Use __skb_queue_purge()
Wang Chen [Thu, 22 May 2008 10:07:43 +0000 (18:07 +0800)]
VIRTIO: Use __skb_queue_purge()

Use standard routine for queue purging.

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agophylib: do EXPORT_SYMBOL on get_phy_id
Paul Gortmaker [Thu, 22 May 2008 16:43:50 +0000 (12:43 -0400)]
phylib: do EXPORT_SYMBOL on get_phy_id

Commit cac1f3c8 factored out the code for get_phy_id so that it
could be reused in multiple places.  Turns out that some of the
users can be modular, so we need to export this symbol as well.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonetlink: Fix nla_parse_nested_compat() to call nla_parse() directly
Thomas Graf [Thu, 22 May 2008 17:48:59 +0000 (10:48 -0700)]
netlink: Fix nla_parse_nested_compat() to call nla_parse() directly

The purpose of nla_parse_nested_compat() is to parse attributes which
contain a struct followed by a stream of nested attributes.  So far,
it called nla_parse_nested() to parse the stream of nested attributes
which was wrong, as nla_parse_nested() expects a container attribute
as data which holds the attribute stream.  It needs to call
nla_parse() directly while pointing at the next possible alignment
point after the struct in the beginning of the attribute.

With this patch, I can no longer reproduce the reported leftover
warnings.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Acked-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years ago3c515: fix using pnp_get_resource when CONFIG_ISAPNP=n
Randy Dunlap [Fri, 16 May 2008 17:35:24 +0000 (10:35 -0700)]
3c515: fix using pnp_get_resource when CONFIG_ISAPNP=n

3c515.c uses pnp_irq(), which calls pnp_get_resource(),
which is not defined when CONFIG_PNP=n, so in that case,
get the IRQ from a hardware register.

3c515.c:(.text+0x3adc0): undefined reference to `pnp_get_resource'

Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoPHYLIB: Kconfig: Complete the list of Broadcom PHYs supported
Maciej W. Rozycki [Sat, 17 May 2008 05:46:19 +0000 (06:46 +0100)]
PHYLIB: Kconfig: Complete the list of Broadcom PHYs supported

 Add Broadcom PHYs supported missing from the description.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoPHYLIB: Add 1000Base-X support for Broadcom bcm5482
Nate Case [Sat, 17 May 2008 05:40:39 +0000 (06:40 +0100)]
PHYLIB: Add 1000Base-X support for Broadcom bcm5482

Configure the BCM5482S secondary SerDes for 1000Base-X mode when the
appropriate dev_flags are passed in to phy_connect().  This is
needed when the PHY is used for fiber and backplane connections.

Signed-off-by: Nate Case <ncase@xes-inc.com>
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: Add "follow" option to fail_over_mac
Jay Vosburgh [Sun, 18 May 2008 04:10:14 +0000 (21:10 -0700)]
bonding: Add "follow" option to fail_over_mac

Add a "follow" selection for fail_over_mac.  This option
causes the MAC address to move from slave to slave as the active
slave changes.  This is in addition to the existing fail_over_mac option
that causes the bond's MAC address to change during failover.

This new option is useful for devices that cannot tolerate
multiple ports using the same MAC address simultaneously, either
because it confuses them or incurs a performance penalty (as is the
case with some LPAR-aware multiport devices).  Because the MAC of the
bond itself does not change, the "follow" option is slightly more
reliable during failover and doesn't change the MAC of the bond during
operation.

This patch requires a previous ARP monitor change to properly
handle RTNL during failovers.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: refactor ARP active-backup monitor
Jay Vosburgh [Sun, 18 May 2008 04:10:13 +0000 (21:10 -0700)]
bonding: refactor ARP active-backup monitor

Refactor ARP monitor for active-backup mode.  The motivation for
this is to take care of locking issues in a clear manner (particularly to
correctly handle RTNL vs. the bonding locks).  Currently, the a-b ARP
monitor does not hold RTNL at all, but future changes will require RTNL
during ARP monitor failovers.

Rather than using conditional locking, this patch instead breaks
up the ARP monitor into three discrete steps: inspection, commit changes,
and probe.  The inspection phase marks slaves that require link state
changes.  The commit phase is only called if inspection detects that
changes are needed, and is called with RTNL.  Lastly, the probe phase
issues the ARP probes that the inspection phase uses to determine link
state.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: Send more than one gratuitous ARP when slave takes over
Moni Shoua [Sun, 18 May 2008 04:10:12 +0000 (21:10 -0700)]
bonding: Send more than one gratuitous ARP when slave takes over

With IPoIB, reception of gratuitous ARP by neighboring hosts
is essential for a successful change of slaves in case of failure.
Otherwise, they won't learn about the HW address change and need
to wait a long time until the neighboring system gives up and sends
an ARP request to learn the new HW address.  This patch decreases
the chance for a lost of a gratuitous ARP packet by sending it more
than once. The number retries is configurable and can be set with a
module param.

Signed-off-by: Moni Shoua <monis@voltaire.com>
Acked-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: Remove unneeded list_empty checks.
Pavel Emelyanov [Sun, 18 May 2008 04:10:11 +0000 (21:10 -0700)]
bonding: Remove unneeded list_empty checks.

Some places iterate over the checked list right after the check
itself, so even if the list is empty, the list_for_each_xxx
iterator will make everything right by himself.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: Relax unneeded _safe lists iterations.
Pavel Emelyanov [Sun, 18 May 2008 04:10:10 +0000 (21:10 -0700)]
bonding: Relax unneeded _safe lists iterations.

Many places either do not modify the list under the list_for_each_xxx,
or break out of the loop as soon as the first element is removed.

Thus, this _safe iteration just occupies some unneeded .text space
and requires an additional variable.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: Remove redundant argument from bond_create.
Pavel Emelyanov [Sun, 18 May 2008 04:10:09 +0000 (21:10 -0700)]
bonding: Remove redundant argument from bond_create.

While we're fixing the bond_create, I hope it's OK to polish it
a bit after the fixes.

The third argument is NULL at the first caller and is ignored by
the second one, so remove it.

Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Acked-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: remove test for IP in ARP monitor
Jay Vosburgh [Sun, 18 May 2008 04:10:08 +0000 (21:10 -0700)]
bonding: remove test for IP in ARP monitor

Remove bond_has_ip and all references to it.  With this change,
the ARP monitor will always send ARP probes if the master is up and has
at least one slave.  If the bond has an IP address, it is used in the
ARP probe; if not, the probes are sent with all zeros in the sender's
IP address (which is consistent with an RFC 2131 4.4.1 duplicate address
probe).

This is useful for cases when bonding itself is hidden underneath
a layer of virtual devices, e.g., with Xen.

Change suggested by Tsutomu Fujii <t-fujii@nb.jp.nec.com>, who
included a one-line patch that only affected active-backup mode.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agobonding: Use msecs_to_jiffies, eliminate panic
Jay Vosburgh [Sun, 18 May 2008 04:10:07 +0000 (21:10 -0700)]
bonding: Use msecs_to_jiffies, eliminate panic

Convert bonding to use msecs_to_jiffies instead of doing the
math.  For the ARP monitor, there was an underflow problem that could
result in an infinite loop.  The miimon already had that worked around,
but this is cleaner.

Originally by Nicolas de Pesloüan <nicolas.2p.debian@free.fr>
Jay Vosburgh corrected a math error in the original; Nicolas' original
commit message is:

When setting arp_interval parameter to a very low value, delta_in_ticks
for next arp might become 0, causing an infinite loop.

See http://bugzilla.kernel.org/show_bug.cgi?id=10680

Same problem for miimon parameter already fixed, but fix might be
enhanced, by using msecs_to_jiffies() function.

Signed-off-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agomisc drivers/net endianness noise
Al Viro [Wed, 21 May 2008 00:34:30 +0000 (01:34 +0100)]
misc drivers/net endianness noise

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agocxgb3 - Add LRO support
Divy Le Ray [Thu, 22 May 2008 01:56:26 +0000 (18:56 -0700)]
cxgb3 - Add LRO support

Add LRO support.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agocxgb3 - Add page support to jumbo frame Rx queue
Divy Le Ray [Thu, 22 May 2008 01:56:21 +0000 (18:56 -0700)]
cxgb3 - Add page support to jumbo frame Rx queue

Add page support to Jumbo frame Rx queues.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agocxgb3 - Fix dma mapping error path
Divy Le Ray [Thu, 22 May 2008 01:56:16 +0000 (18:56 -0700)]
cxgb3 - Fix dma mapping error path

Take potential dma mapping errors in account.

Signed-off-by: Divy Le Ray <divy@chelsio.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoWAN: protect HDLC proto list while insmod/rmmod
Krzysztof Halasa [Mon, 19 May 2008 17:00:51 +0000 (19:00 +0200)]
WAN: protect HDLC proto list while insmod/rmmod

WAN: protect protocol list in hdlc.c with RTNL.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/net/fs_enet: remove null pointer dereference
Julia Lawall [Mon, 12 May 2008 13:38:26 +0000 (15:38 +0200)]
drivers/net/fs_enet: remove null pointer dereference

The following code appears in the function fs_init_instance in the file drivers/net/fs_enet/fs_enet-main.c.

if (fep->ops == NULL) {
printk(KERN_ERR DRV_MODULE_NAME
       ": %s No matching ops found (%d).\n",
       ndev->name, fpi->fs_no);
err = -EINVAL;
goto err;
}

This code implies that at the point of err, fep->ops can be NULL, so an
extra test is needed before dereferencing this value.

This problem was found using the following semantic match
(http://www.emn.fr/x-info/coccinelle/)

// <smpl>
@@
expression E, E1;
identifier f;
statement S1,S2,S3;
@@

* if (E == NULL)
{
  ... when != if (E == NULL) S1 else S2
      when != E = E1
* E->f
  ... when any
  return ...;
}
else S3
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoS2io: Version update for napi and MSI-X patches
Sreenivasa Honnur [Mon, 12 May 2008 17:43:05 +0000 (13:43 -0400)]
S2io: Version update for napi and MSI-X patches

- Updated version number

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoS2io: Added napi support when MSIX is enabled.
Sreenivasa Honnur [Mon, 12 May 2008 17:42:17 +0000 (13:42 -0400)]
S2io: Added napi support when MSIX is enabled.

- Added napi support when MSIX is enabled.
- Moved test_msi function from s2io_open to probe function.

Signed-off-by: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoS2io: Move all the transmit completions to a single msi-x (alarm) vector
Sreenivasa Honnur [Mon, 12 May 2008 17:41:32 +0000 (13:41 -0400)]
S2io: Move all the transmit completions to a single msi-x (alarm) vector

- Move all the transmit completions to a single msi-x (alarm) vector.
- Enable the continuous timer interrupt for only one transmit fifo.

Signed-off-by: Santosh Rastapur <santosh.rastapur@neterion.com>
Signed-off-by: Ramkrishna Vepa <ram.vepa@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/net/ehea - remove unnecessary memset after kzalloc
Joe Perches [Mon, 12 May 2008 21:38:17 +0000 (14:38 -0700)]
drivers/net/ehea - remove unnecessary memset after kzalloc

Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoau1000_eth: remove useless check
Francois Romieu [Mon, 12 May 2008 16:44:21 +0000 (18:44 +0200)]
au1000_eth: remove useless check

The lifespan of the device covers the request_irq .. free_irq interval.

The cast of a void * pointer is not needed either.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoBlackfin EMAC Driver: Removed duplicated include <linux/ethtool.h>
Huang Weiyi [Mon, 12 May 2008 04:14:04 +0000 (12:14 +0800)]
Blackfin EMAC Driver: Removed duplicated include <linux/ethtool.h>

Signed-off-by: Huang Weiyi <weiyi.huang@gmail.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agocpmac bugfixes and enhancements
Matteo Croce [Tue, 13 May 2008 22:58:32 +0000 (00:58 +0200)]
cpmac bugfixes and enhancements

* Resolve some locking issues using atomic_inc/atomic_dec
* move status code in cpmac_check_status
* unmark the BROKEN flag in Kconfig
* move code which should have been in platform code in
  arch/mips/ar7/platform.c
* fixed an IRQ storm which lets the kernel hang
* fixed a double call to netif_start_queue which causes a kernel panic
* don't fail to register the PHY, works on many devices now

Signed-off-by: Matteo Croce <matteo@openwrt.org>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoe1000e: use resource_size_t, not unsigned long, for phys addrs
Becky Bruce [Thu, 1 May 2008 23:03:11 +0000 (18:03 -0500)]
e1000e: use resource_size_t, not unsigned long, for phys addrs

The use of unsigned long causes the driver to fail on 32-bit systems
which support 64-bit resources.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonet/usb: add support for Apple USB Ethernet Adapter
Aurelien Nephtali [Thu, 15 May 2008 00:04:13 +0000 (17:04 -0700)]
net/usb: add support for Apple USB Ethernet Adapter

Add support for Apple USB Ethernet Adapter.

http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore.woa/wa/RSLID?nplm=MB442Z/A

Signed-off-by: Aurelien Nephtali <aurelien@sitadelle.com>
Acked-by: Greg KH <greg@kroah.com>
Cc: David Brownell <david-b@pacbell.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agouli526x: add support for netpoll
Anton Vorontsov [Fri, 16 May 2008 19:04:51 +0000 (23:04 +0400)]
uli526x: add support for netpoll

This patch adds netpoll support for the uli526x ethernet driver --
simply call the interrupt handler for polling.

To do this without disable_irq()/enable_irq() pair we should fully
protect the handler. Luckily, it's already using irqsave spinlock,
the only unprotected place is interrupts re-enabling write. It was
safe to re-enable interrupts without holding the spinlock, but with
netpoll possibility now it doesn't seem so.

Patch was tested using netconsole and KGDBoE.

Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoucc_geth: Fix arguments to dma map/unmap functions
Andy Fleming [Thu, 15 May 2008 22:00:21 +0000 (17:00 -0500)]
ucc_geth: Fix arguments to dma map/unmap functions

We were passing NULL as the device.  When we actually start supporting
more interesting memory configurations, this will break things, so
we proactively are fixing the bug.

Signed-off-by: Andy Fleming <afleming@freescale.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoPHYLIB: Kconfig: Fix the dependency on S390
Maciej W. Rozycki [Sat, 17 May 2008 06:07:36 +0000 (07:07 +0100)]
PHYLIB: Kconfig: Fix the dependency on S390

 PHYLIB was first marked as BROKEN on S390, then the enclosing menu marked
as non-S390, then the two dependencies merged with the conversion to
menuconfig.  Reduce to non-S390.

Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[SC92031] Using padto turned driver into an IPv6-only interface
Gerrit Renker [Sat, 17 May 2008 07:35:36 +0000 (08:35 +0100)]
[SC92031] Using padto turned driver into an IPv6-only interface

IPv4 would work with this driver only with static arp table entries,
the patch  reverts a padto introduced in

 commit 26a17b7bbb36a8552d531bc1ad08472fb5aa3007
 sc92031: start transmit return value bugfix

The padto does not work because the driver code evaluates `len' later on and
there are cases where skb->len is not updated accordingly.

This was observed with ARP frames (skb->len = 42 bytes, !skb_cloned(),
skb_tailroom = 84 bytes). Then in skb_pad(), the first condition is true, where
skb->len is not updated. As a consequence, the driver uses 42 bytes instead of
the 60 bytes, and the ARP frame never makes it onto the wire.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosb1250: use netdev_alloc_skb
Stephen Hemminger [Sun, 18 May 2008 03:45:09 +0000 (04:45 +0100)]
sb1250: use netdev_alloc_skb

 Use netdev_alloc_skb.  This sets skb->dev and allows arch specific
allocation.  Also simplify and cleanup the alignment code.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Maciej W. Rozycki <macro@linux-mips.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] forcedeth: Restore multicast settings on resume
Tobias Diedrich [Sun, 18 May 2008 13:00:36 +0000 (15:00 +0200)]
[netdrvr] forcedeth: Restore multicast settings on resume

nv_open() resets multicast settings, call nv_set_multicast(dev)
to restore them.  (Maybe this should rather be moved into nv_open())

Signed-off-by: Tobias Diedrich <ranma+kernel@tdiedrich.de>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoWAN: protect Cisco HDLC state changes with a spinlock.
Krzysztof Halasa [Mon, 19 May 2008 17:11:08 +0000 (19:11 +0200)]
WAN: protect Cisco HDLC state changes with a spinlock.

Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agomake myri10ge_get_firmware_capabilities() static
Adrian Bunk [Mon, 19 May 2008 21:53:00 +0000 (00:53 +0300)]
make myri10ge_get_firmware_capabilities() static

This patch makes the needlessly global
myri10ge_get_firmware_capabilities() static.

Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agos2io: add missing block braces to multistatement if statement
Ilpo Järvinen [Tue, 13 May 2008 11:16:54 +0000 (14:16 +0300)]
s2io: add missing block braces to multistatement if statement

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Cc: Ramkrishna Vepa <ram.vepa@neterion.com>
Cc: Rastapur Santosh <santosh.rastapur@neterion.com>
Cc: Sivakumar Subramani <sivakumar.subramani@neterion.com>
Cc: Sreenivasa Honnur <sreenivasa.honnur@neterion.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agohamradio/scc: add missing block braces to multi-statement if
Ilpo Järvinen [Tue, 13 May 2008 11:16:53 +0000 (14:16 +0300)]
hamradio/scc: add missing block braces to multi-statement if

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agoehea: Fix use after free on reboot
Brian King [Wed, 14 May 2008 14:48:25 +0000 (09:48 -0500)]
ehea: Fix use after free on reboot

Fixes the following use after free oops:

ehea: Reboot: freeing all eHEA resources
Unable to handle kernel paging request for data at address 0x6b6b6b6b6b6b6c5b
Faulting instruction address: 0xd000000000354488
cpu 0x0: Vector: 300 (Data Access) at [c00000002ec6f310]
    pc: d000000000354488: .ehea_shutdown_single_port+0x50/0x78 [ehea]
    lr: d00000000035447c: .ehea_shutdown_single_port+0x44/0x78 [ehea]
    sp: c00000002ec6f590
   msr: 8000000000009032
   dar: 6b6b6b6b6b6b6c5b
 dsisr: 40000000
  current = 0xc0000000281412e0
  paca    = 0xc0000000006df300
    pid   = 10930, comm = reboot
enter ? for help
[c00000002ec6f590d00000000035d64c .ehea_remove+0x44/0x124 [ehea] (unreliable)
[c00000002ec6f630c000000000319f88 .of_platform_device_remove+0x40/0x58
[c00000002ec6f6a0c000000000291018 .__device_release_driver+0xb0/0xf0
[c00000002ec6f730c000000000291120 .driver_detach+0xc8/0xfc
[c00000002ec6f7c0c00000000028fe24 .bus_remove_driver+0xb4/0x114
[c00000002ec6f850c000000000291768 .driver_unregister+0x54/0x74
[c00000002ec6f8e0c00000000031a0c8 .of_unregister_driver+0x14/0x28
[c00000002ec6f950c000000000023ba0 .ibmebus_unregister_driver+0x10/0x24
[c00000002ec6f9c0d000000000354180 .ehea_reboot_notifier+0x30/0x4c [ehea]
[c00000002ec6fa40c0000000003c95a8 .notifier_call_chain+0x5c/0xcc
[c00000002ec6fae0c000000000082cd4 .__blocking_notifier_call_chain+0x70/0xb0
[c00000002ec6fb90c000000000075cf8 .kernel_restart_prepare+0x24/0x58
[c00000002ec6fc10c000000000075f0c .kernel_restart+0x20/0x6c
[c00000002ec6fc90c000000000078674 .sys_reboot+0x1d4/0x290
[c00000002ec6fe30c0000000000086ac syscall_exit+0x0/0x40

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agorndis_host: increase delay in command response loop
Pierre Ynard [Wed, 14 May 2008 23:20:16 +0000 (16:20 -0700)]
rndis_host: increase delay in command response loop

Some devices running some WinCE firmware (with SC_* Samsung processors
according to the SynCE project, verified on a HTC P3600 device) fail to
register because they apparently need extra time to respond correctly to
requests.  Increase the existing delay to satisfy them.  Based on code
from the SynCE project, on a suggestion of David Brownell.

This patch Works For Me(tm).

Signed-off-by: Pierre Ynard <linkfanel@yahoo.fr>
Acked-by: David Brownell <david-b@pacbell.net>
Cc: Greg KH <greg@kroah.com>
Cc: Jeff Garzik <jeff@garzik.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/net/tokenring/olympic.c: fix warning
Andrew Morton [Wed, 14 May 2008 23:20:15 +0000 (16:20 -0700)]
drivers/net/tokenring/olympic.c: fix warning

When dev_name() is changed to return `const char *':

drivers/net/tokenring/olympic.c: In function 'olympic_probe':
drivers/net/tokenring/olympic.c:234: warning: assignment discards qualifiers from pointer target type

Cc: Jeff Garzik <jeff@garzik.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agodrivers/net/tokenring/3c359.c: squish a warning
Andrew Morton [Wed, 14 May 2008 23:20:15 +0000 (16:20 -0700)]
drivers/net/tokenring/3c359.c: squish a warning

When dev_name() is changed to return `const char *':

drivers/net/tokenring/3c359.c: In function 'xl_probe':
drivers/net/tokenring/3c359.c:318: warning: assignment discards qualifiers from pointer target type

Cc: Jeff Garzik <jeff@garzik.org>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agopcnet32: fix warning
Andrew Morton [Wed, 14 May 2008 23:20:14 +0000 (16:20 -0700)]
pcnet32: fix warning

pci_name() will be changed to return `const char *':

drivers/net/pcnet32.c: In function 'pcnet32_probe1':
drivers/net/pcnet32.c:1884: warning: passing argument 2 of 'pcnet32_alloc_ring' discards qualifiers from pointer target type

Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years ago[netdrvr] dm9000: use delayed work to update mii phy state fix
Andrew Morton [Wed, 14 May 2008 23:20:12 +0000 (16:20 -0700)]
[netdrvr] dm9000: use delayed work to update mii phy state fix

use cancel_delayed_work_sync()

Cc: Ben Dooks <ben-linux@fluff.org>
Cc: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Cc: Jeff Garzik <jeff@garzik.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosky2: restore vlan acceleration on reset
Stephen Hemminger [Thu, 15 May 2008 00:04:13 +0000 (17:04 -0700)]
sky2: restore vlan acceleration on reset

If device has to be reset by sky2_restart, then need to restore
the VLAN acceleration settings.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove sub-minor component from driver version
Ben Hutchings [Fri, 16 May 2008 20:21:06 +0000 (21:21 +0100)]
sfc: Remove sub-minor component from driver version

This driver has diverged from the out-of-tree driver to which the version
number originally applied.  It should be identified primarily by kernel
version.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Added checks for heap allocation failure
Ben Hutchings [Fri, 16 May 2008 20:20:20 +0000 (21:20 +0100)]
sfc: Added checks for heap allocation failure

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Remove redundant casts to and from void *
Ben Hutchings [Fri, 16 May 2008 20:20:00 +0000 (21:20 +0100)]
sfc: Remove redundant casts to and from void *

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Change type of efx_nic::nic_data to struct falcon_nic_data *
Ben Hutchings [Fri, 16 May 2008 20:19:43 +0000 (21:19 +0100)]
sfc: Change type of efx_nic::nic_data to struct falcon_nic_data *

Remove redundant casts and variable.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use __packed macro
Ben Hutchings [Fri, 16 May 2008 20:19:21 +0000 (21:19 +0100)]
sfc: Use __packed macro

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Do not define inline macro
Ben Hutchings [Fri, 16 May 2008 20:19:05 +0000 (21:19 +0100)]
sfc: Do not define inline macro

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use DMA_BIT_MASK() instead of our own DMA mask macros
Ben Hutchings [Fri, 16 May 2008 20:18:48 +0000 (21:18 +0100)]
sfc: Use DMA_BIT_MASK() instead of our own DMA mask macros

Also change type of efx_nic_type::max_dma_mask to u64, matching
pci_dma_supported() parameter type.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Correct and expand some comments
Ben Hutchings [Fri, 16 May 2008 20:18:14 +0000 (21:18 +0100)]
sfc: Correct and expand some comments

These comments have been revised in response to questions raised by Andrew
Morton in <20080501120858.207b6dd6.akpm@linux-foundation.org>.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use resource_size_t for PCI bus address
Ben Hutchings [Fri, 16 May 2008 20:17:06 +0000 (21:17 +0100)]
sfc: Use resource_size_t for PCI bus address

This should make the driver work on 32-bit systems with 64-bit PCI support.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Merged efx_page_offset() into efx_rx_buf_offset()
Ben Hutchings [Fri, 16 May 2008 20:16:31 +0000 (21:16 +0100)]
sfc: Merged efx_page_offset() into efx_rx_buf_offset()

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Replaced various macros with inline functions
Ben Hutchings [Fri, 16 May 2008 20:16:10 +0000 (21:16 +0100)]
sfc: Replaced various macros with inline functions

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Added and removed braces to comply with kernel style
Ben Hutchings [Fri, 16 May 2008 20:15:49 +0000 (21:15 +0100)]
sfc: Added and removed braces to comply with kernel style

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Removed unncesssary UL suffixes on 0 literals
Ben Hutchings [Fri, 16 May 2008 20:15:29 +0000 (21:15 +0100)]
sfc: Removed unncesssary UL suffixes on 0 literals

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Simplified efx_rx_calc_buffer_size() using get_order()
Ben Hutchings [Fri, 16 May 2008 20:15:06 +0000 (21:15 +0100)]
sfc: Simplified efx_rx_calc_buffer_size() using get_order()

Merged it into its only caller, efx_init_channels().

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Removed casts to void
Ben Hutchings [Fri, 16 May 2008 20:14:27 +0000 (21:14 +0100)]
sfc: Removed casts to void

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agosfc: Use mod_timer() to set expiry and add_timer() together
Ben Hutchings [Fri, 16 May 2008 20:13:57 +0000 (21:13 +0100)]
sfc: Use mod_timer() to set expiry and add_timer() together

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
16 years agonet: The world is not perfect patch.
Rami Rosen [Thu, 22 May 2008 00:47:54 +0000 (17:47 -0700)]
net: The world is not perfect patch.

  Unless there will be any objection here, I suggest consider the
following patch which simply removes the code for the
-DI_WISH_WORLD_WERE_PERFECT in the three methods which use it.

The compilation errors we get when using -DI_WISH_WORLD_WERE_PERFECT
show that this code was not built and not used for really a long time.

Signed-off-by: Rami Rosen <ramirose@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotcp: Make prior_ssthresh a u32
Ilpo Järvinen [Thu, 22 May 2008 00:40:05 +0000 (17:40 -0700)]
tcp: Make prior_ssthresh a u32

If previous window was above representable values of u16,
strange things will happen if undo with the truncated value
is called for. Alternatively, this could be fixed by some
max trickery but that would limit undoing high-speed undos.

Adds 16-bit hole but there isn't anything to fill it with.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agoxfrm_user: Remove zero length key checks.
David S. Miller [Thu, 22 May 2008 00:36:21 +0000 (17:36 -0700)]
xfrm_user: Remove zero length key checks.

The crypto layer will determine whether that is valid
or not.

Suggested by Herbert Xu, based upon a report and patch
by Martin Willi.

Signed-off-by: David S. Miller <davem@davemloft.net>
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
16 years agonet/ipv4/arp.c: Use common hex_asc helpers
Denis Cheng [Thu, 22 May 2008 00:34:32 +0000 (17:34 -0700)]
net/ipv4/arp.c: Use common hex_asc helpers

Here the local hexbuf is a duplicate of global const char hex_asc from
lib/hexdump.c, except the hex letters' cases:

const char hexbuf[] = "0123456789ABCDEF";

const char hex_asc[] = "0123456789abcdef";

and here to print HW addresses, the hex cases are not significant.

Thanks to Harvey Harrison to introduce the hex_asc_hi/hex_asc_lo helpers.

Signed-off-by: Denis Cheng <crquan@gmail.com>
Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agocassini: Only use chip checksum for ipv4 packets.
David S. Miller [Thu, 22 May 2008 00:05:34 +0000 (17:05 -0700)]
cassini: Only use chip checksum for ipv4 packets.

According to David Monro, at least with Natsemi Saturn chips the
cassini driver has some trouble with ipv6 checksums.

Until we have more information about what's going on here, only
use the chip checksums for ipv4.

This workaround was suggested and tested by David.

Update version and release date.

Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotcp: TCP connection times out if ICMP frag needed is delayed
Sridhar Samudrala [Wed, 21 May 2008 23:42:20 +0000 (16:42 -0700)]
tcp: TCP connection times out if ICMP frag needed is delayed

We are seeing an issue with TCP in handling an ICMP frag needed
message that is received after net.ipv4.tcp_retries1 retransmits.
The default value of retries1 is 3. So if the path mtu changes
and ICMP frag needed is lost for the first 3 retransmits or if
it gets delayed until 3 retransmits are done, TCP doesn't update
MSS correctly and continues to retransmit the orginal message
until it timesout after tcp_retries2 retransmits.

I am seeing this issue even with the latest 2.6.25.4 kernel.

In tcp_retransmit_timer(), when retransmits counter exceeds
tcp_retries1 value, the dst cache entry of the socket is reset.
At this time, if we receive an ICMP frag needed message, the
dst entry gets updated with the new MTU, but the TCP sockets
dst_cache entry remains NULL.

So the next time when we try to retransmit after the ICMP frag
needed is received, tcp_retransmit_skb() gets called. Here the
cur_mss value is calculated at the start of the routine with
a NULL sk_dst_cache. Instead we should call tcp_current_mss after
the rebuild_header that caches the dst entry with the updated mtu.
Also the rebuild_header should be called before tcp_fragment
so that skb is fragmented if the mss goes down.

Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotipc: Fix initialization sequence problems when entering network mode
Allan Stephens [Wed, 21 May 2008 21:55:04 +0000 (14:55 -0700)]
tipc: Fix initialization sequence problems when entering network mode

This patch ensures that TIPC's topology service and configuration
service are shut down before switching into "network mode".  This
ensures that TIPC does not mistakenly try to send unnecessary
"publication withdraw" messages to other nodes before it is fully
initialized for sending off-node messages.  Note that the node's
current network address is now updated only after the two services
are shut down; this ensures that any existing connections to the
topology server are terminated correctly using the old address.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotipc: Update "previous node" indicators when node address changes
Allan Stephens [Wed, 21 May 2008 21:54:12 +0000 (14:54 -0700)]
tipc: Update "previous node" indicators when node address changes

This patch ensures that the "previous node" field in any existing
TIPC port message header templates is updated properly when a TIPC
network address is assigned to the node.  (Previously, only the
"originating node" field was updated.)

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
16 years agotipc: Optimize null pointer check during neighbor discovery
Allan Stephens [Wed, 21 May 2008 21:53:34 +0000 (14:53 -0700)]
tipc: Optimize null pointer check during neighbor discovery

This patch optimizes TIPC neighbor discovery code to avoid testing for
a null node pointer when the pointer is already known to be non-null.

Signed-off-by: Allan Stephens <allan.stephens@windriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>