22 Mar, 2009

8 commits

  • A zero length frame filter was recently introduced in ROSE protocole.
    Previous commit makes the same at AX25 protocole level.
    This patch has the same purpose for NetRom protocole.
    The reason is that empty frames have no meaning in NetRom protocole.

    Signed-off-by: Bernard Pidoux
    Signed-off-by: David S. Miller

    Bernard Pidoux
     
  • In previous commit 244f46ae6e9e18f6fc0be7d1f49febde4762c34b
    was introduced a zero length frame filter for ROSE protocole.
    This patch has the same purpose at AX25 frame level for the same
    reason. Empty frames have no meaning in AX25 protocole.

    Signed-off-by: Bernard Pidoux
    Signed-off-by: David S. Miller

    Bernard Pidoux
     
  • This patch condenses two debug messages in one.

    Signed-off-by: Bernard Pidoux
    Signed-off-by: David S. Miller

    Bernard Pidoux
     
  • commit 1577ecef766650a57fceb171acee2b13cbfaf1d3 ("netdev: Merge UCC
    and gianfar MDIO bus drivers") broke the TSEC TBI PHY support: the
    driver now refuses to probe TBI MDIO buses as it doesn't know about
    "fsl,gianfar-tbi" compatible entry, and thus _probe() fails with
    -ENODEV status.

    Fix this by adding "fsl,gianfar-tbi" to the list of known Gianfar
    MDIO buses.

    Signed-off-by: Anton Vorontsov
    Acked-by: Andy Fleming
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • reorder struct inet6_ifaddr to remove padding on 64 bit builds

    remove 8 bytes of padding so inet6_ifaddr becomes 192 bytes & fits into
    a smaller slab.

    Signed-off-by: Richard Kennedy
    Signed-off-by: David S. Miller

    Richard Kennedy
     
  • commit 4826857f1bf07f9c0f1495e9b05d125552c88a85 ("gianfar: pass the
    proper dev to DMA ops") introduced this build breakage:

    CC drivers/net/gianfar.o
    drivers/net/gianfar.c: In function 'gfar_suspend':
    drivers/net/gianfar.c:552: error: 'struct gfar_private' has no member named 'dev'
    drivers/net/gianfar.c: In function 'gfar_resume':
    drivers/net/gianfar.c:601: error: 'struct gfar_private' has no member named 'dev'
    make[2]: *** [drivers/net/gianfar.o] Error 1

    Fix this by converting suspend and resume routines to use
    gfar_private->ndev.

    Signed-off-by: Anton Vorontsov
    Acked-by: Kumar Gala
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • This patch enables support for the new Intel 82552 adapter (new PHY paired
    with the existing MAC in the ICH7 chipset). No new features are added to
    the driver, however there are minor changes due to updated registers and a
    few workarounds for hardware errata.

    Signed-off-by: Bruce Allan
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Bruce Allan
     
  • David S. Miller
     

21 Mar, 2009

1 commit

  • When merging into Jeff's tree:

    commit 5f66f208064f083aab5e55935d0575892e033b59
    Author: Arthur Jones
    Date: Thu Mar 19 01:13:08 2009 +0000

    e1000e: allow tx of pre-formatted vlan tagged packets

    We lost one line, this fixes that missing
    piece...

    Signed-off-by: Arthur Jones
    Signed-off-by: David S. Miller

    Arthur Jones
     

20 Mar, 2009

16 commits

  • Conflicts:
    drivers/net/virtio_net.c

    David S. Miller
     
  • dev_queue_xmit() needs to dirty fields "state", "q", "bstats" and "qstats"

    On x86_64 arch, they currently span three cache lines, involving more
    cache line ping pongs than necessary, making longer holding of queue spinlock.

    We can reduce this to one cache line, by grouping all read-mostly fields
    at the beginning of structure. (Or should I say, all highly modified fields
    at the end :) )

    Before patch :

    offsetof(struct Qdisc, state)=0x38
    offsetof(struct Qdisc, q)=0x48
    offsetof(struct Qdisc, bstats)=0x80
    offsetof(struct Qdisc, qstats)=0x90
    sizeof(struct Qdisc)=0xc8

    After patch :

    offsetof(struct Qdisc, state)=0x80
    offsetof(struct Qdisc, q)=0x88
    offsetof(struct Qdisc, bstats)=0xa0
    offsetof(struct Qdisc, qstats)=0xac
    sizeof(struct Qdisc)=0xc0

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Removed duplicated #include in drivers/net/dnet.c.

    Signed-off-by: Huang Weiyi
    Signed-off-by: David S. Miller

    Huang Weiyi
     
  • The watchdog will schedule an interrupt to help make sure queues are
    cleaned in the case when an interrupt is missed, most likely due to very
    high load. On 82599, there are extra interrupt registers to account for
    the larger number of MSI-X vectors (64 total for 82599 vs. 18 total for
    82598). These must be taken into account when performing this operation in
    the watchdog.

    Signed-off-by: Jesse Brandeburg
    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jesse Brandeburg
     
  • ethtool isn't reporting the support level of WoL for 82599 KX4 devices.
    While the device does support WoL, ethtool was never updated to properly
    report the level of support, nor will it allow ethtool to modify the type
    of packets to listen for.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    PJ Waskiewicz
     
  • 82598's PCI bus reporting on driver load was broken after 82599 merged.
    This results in incorrect reporting, and an erroneous warning message
    that the 82598 is in a PCIe slot that isn't fast enough to run 10GbE.

    Signed-off-by: Peter P Waskiewicz Jr
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    PJ Waskiewicz
     
  • This code updates ixgb so that it can use the skb_dma_map/unmap functions
    to map the buffers. In addition it also updates the tx hang logic to use
    time_stamp instead of dma to determine if it has detected a tx hang.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • As with igb, when the e1000e driver is fed 802.1q
    packets with hardware checksum on, it chokes with an
    error of the form:

    checksum_partial proto=81!

    As the logic there was not smart enough to look into
    the vlan header to pick out the encapsulated protocol.

    There are times when we'd like to send these packets
    out without having to configure a vlan on the interface.
    Here we check for the vlan tag and allow the packet to
    go out wiht the correct hardware checksum.

    Thanks to Kand Ly for discovering the
    issue and the coming up with a solution. This patch is
    based upon his work.

    Fixups from Stephen Hemminger and
    Alexander Duyck

    Signed-off-by: Arthur Jones
    Signed-off-by: Jeff Kirsher
    CC: Stephen Hemminger
    CC: Alexander Duyck
    Signed-off-by: David S. Miller

    Arthur Jones
     
  • There were a few issues I noticed in e1000e. These include a double free
    of the skb if mapping fails, and the fact that context descriptors appear
    to be left in the descriptor ring after the failure.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • Add device ID and related support for 82583 mac.

    Signed-off-by: Alexander Duyck
    Acked-by: Radheka Godse
    Acked-by: Bruce Allan
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • The cpu_to_le16 here looks suspicious to me, I don't think we need it
    because put_unaligned_le16 also does this.

    I don't currently have any big endian hardware with a PCI bus available
    to test on, so I haven't been able to verify this.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • Signed-off-by: David S. Miller

    David S. Miller
     
  • This patch replaces the generic eth_mac_addr function with one that
    also updates the hardware mac address registers. It also renames the
    existing smsc911x_set_mac_address function to
    smsc911x_hw_set_mac_address for clarity.

    Newer LAN911x and all LAN921x devices also support changing the mac
    address while the device is running, which is useful for some bonding
    modes.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • The vast majority of bit constants in this driver are defined in the
    header file, but TX and RX status word bits are not. This patch (which
    should make no functional change) defines these, to make the driver
    slightly more readable.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • To improve manageability, it would be good to be able to disambiguate routes
    added by administrator from those added by DHCP client. The only necessary
    kernel change is to add value to rtnetlink include file so iproute2 utility
    can use it.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     

19 Mar, 2009

15 commits

  • Every USB transfer buffer has to be allocated individually by kmalloc.

    Impact: bugfix, no functional change

    Signed-off-by: Tilman Schmidt
    Tested-by: Kolja Waschk
    Signed-off-by: David S. Miller

    Tilman Schmidt
     
  • smsc911x_phy_adjust_link is called periodically by the phy layer (as
    it's run in polling mode), and it only updates the hardware when it sees
    a change in duplex or carrier. This patch clears the last known values
    every time the interface is brought up, instead of only when the module
    is loaded.

    Without this patch the adjust_link function never updates the hardware
    after an ifconfig down; ifconfig up. On a full duplex link this causes
    the tx error counter to increment, even though packets are correctly
    transmitted, as the default MAC_CR register setting is for half duplex.

    The tx errors are "no carrier" errors, which should be ignored in
    full-duplex mode. When MAC_CR is set to "full duplex" mode they are
    correctly ignored by the hardware.

    Note that even with this patch the tx error counter can increment if
    packets are transmitted between "ifconfig up" and the first phy poll
    interval. An improved solution would use the phy interrupt with phylib,
    but I haven't managed to make this work 100% robustly yet.

    Signed-off-by: Steve Glendinning
    Signed-off-by: David S. Miller

    Steve Glendinning
     
  • Address of SH_TSU_ADDR and ARSTR of SH7763 was wrong.
    This revise it.

    Signed-off-by: Nobuhiro Iwamatsu
    Signed-off-by: David S. Miller

    Nobuhiro Iwamatsu
     
  • Handling of IRQ of the SH7763/SH7764 CPU which sh_eth supported was
    changed.
    This revises it for this change.

    Signed-off-by: Nobuhiro Iwamatsu
    Signed-off-by: David S. Miller

    Nobuhiro Iwamatsu
     
  • We need to be passing the of_platform device struct into the DMA ops as
    its the one that has the archdata setup to know which low-level DMA ops we
    should be using (not the net_device one). This isn't an issue until we
    expect the archdata to be setup correctly.

    Signed-off-by: Kumar Gala
    Signed-off-by: David S. Miller

    Kumar Gala
     
  • dev can be NULL in ip[6]_frag_reasm for skb's coming from RAW sockets.

    Quagga's OSPFD sends fragmented packets on a RAW socket, when netfilter
    conntrack reassembles them on the OUTPUT path you hit this code path.

    You can test it with something like "hping2 -0 -d 2000 -f AA.BB.CC.DD"

    With help from Jarek Poplawski.

    Signed-off-by: Jorge Boncompte [DTI2]
    Signed-off-by: David S. Miller

    Jorge Boncompte [DTI2]
     
  • struct sk_buff pointers should be freed with kfree_skb.

    Signed-off-by: Roel Kluin
    Signed-off-by: David S. Miller

    Roel Kluin
     
  • broken by commit 5e739d1752aca4e8f3e794d431503bfca3162df4; AFAICS should
    be -stable fodder as well...

    Signed-off-by: Al Viro
    Aced-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Al Viro
     
  • Fix warnings from current gcc about using non-const strings as printf
    args in TIPC. Compile tested only (not a TIPC user).

    Signed-off-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Stephen Hemminger
     
  • This fixes the regressions cause by
    commit 1326c3d5a4b792a2b15877feb7fb691f8945d203
    (v2.6.28-rc6-461-g23a12b1) broke the display of local and remote
    addresses of an SIT tunnel in iproute2.

    nt->parms is used by ipip6_tunnel_init() and therefore need to be
    initialized first.

    Tracked as http://bugzilla.kernel.org/show_bug.cgi?id=12868

    Reported-by: Jan Engelhardt
    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Bjørn Mork
     
  • The NAPI poll parameter netdev_budget is not documented in
    kernel-docs. Since it may have a substantial effect on at least some
    network loads, it should be.

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: David S. Miller

    Stanislaw Gruszka
     
  • This patch removes an unused parameter (addr_len) from tcp_recv_urg()
    method in net/ipv4/tcp.c.

    Signed-off-by: Rami Rosen
    Signed-off-by: David S. Miller

    Rami Rosen
     
  • Tulip is currently doing request_irq before it has done its
    initialization. This is usually not a problem because it hasn't
    enable interrupts yet, but with DEBUG_SHIRQ on, we call the irq handler
    when registering the interrupt as a sanity check.

    This can result in a NULL ptr dereference, so call tulip_init_ring
    before request_irq, and add a free_ring function to do the freeing
    now shared with tulip_close.

    Tested with a shell loop running ifup, ifdown in a loop a few hundred
    times with DEBUG_SHIRQ on.

    Signed-off-by: Kyle McMartin
    Signed-off-by: David S. Miller

    Kyle McMartin
     
  • Impact: Make NetworkManager work with virtio_net

    For now the semantics are simple: There is always carrier.

    This allows a seamless experience with e.g., qemu/kvm
    where NetworkManager just configures and sets up
    everything automagically.

    If/when a generally agreed-upon way to control
    carrier on/off in the emulator/hypervisor level
    emerges, it will be trivial to extend the driver
    to support that too, but for now even this 2-liner
    makes user experience that much better.

    Signed-off-by: Pantelis Koukousoulas
    Signed-off-by: Rusty Russell
    Signed-off-by: David S. Miller

    Pantelis Koukousoulas
     
  • This patch corrects an omission from the following commit:

    commit f0c76d61779b153dbfb955db3f144c62d02173c2
    Author: Jay Vosburgh
    Date: Wed Jul 2 18:21:58 2008 -0700

    bonding: refactor mii monitor

    The un-refactored code checked the link speed and duplex of
    every slave on every pass; the refactored code did not do so.

    The 802.3ad and balance-alb/tlb modes utilize the speed and
    duplex information, and require it to be kept up to date. This patch
    adds a notifier check to perform the appropriate updating when the slave
    device speed changes.

    Signed-off-by: Jay Vosburgh
    Signed-off-by: David S. Miller

    Jay Vosburgh