11 Oct, 2007

9 commits

  • drivers/s390/net/qeth_main.c: In function 'qeth_hard_header_parse':
    drivers/s390/net/qeth_main.c:6584: error: 'dev' undeclared (first use in this function)
    drivers/s390/net/qeth_main.c:6584: error: (Each undeclared identifier is reported only once
    drivers/s390/net/qeth_main.c:6584: error: for each function it appears in.)

    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Andrew Morton
     
  • Debugging statements are added for inbound packets with unknown
    header id. Those packets are discarded and no longer processed as
    osn-packets.

    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • When the lcs irq routine detects channel failures it drives device recovery.
    After this event the device is no longer usable for shutdown requests,
    because the lcs_irq routine may get wrong channel status information.
    In such a case the lcs_irq routine marks the channel in 'error' state.
    The channel state comes back to 'running' after restarting the channels.

    Signed-off-by: Klaus D. Wacker
    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Klaus D. Wacker
     
  • if qeth_set_multicast_list() is performed on 2 CPUs in parallel,
    card->ip_list may end corrupted.
    Solution: In function __qeth_delete_all_mc()
    remove card->ip_list entry before invoking
    qeth_deregister_addr_entry(). Thus a 2nd invocation of
    qeth_set_multicast_list() cannot try to remove the
    same entry twice.

    Signed-off-by Ursula Braun

    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • Fix filling the qdio buffers in EDDP mode.

    Signed-off-by: Frank Blaschka
    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Frank Blaschka
     
  • HiperSockets infrastructure (layer-3 mode) supports only IPv4 or
    IPv6 packets. Sending other packet types disturbs TCP/IP on z/VM,
    which issues messages about invalid packets.
    Qeth send routine will detect packet type on sending over a
    HiperSockets interface (in layer-3 mode) and drop non IP packets.
    The error and drop count of the interface is incremented.

    Signed-off-by: Klaus D. Wacker
    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Klaus D. Wacker
     
  • Since hardware header operations are part of the protocol class
    not the device instance, make them into a separate object and
    save memory.

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

    Stephen Hemminger
     
  • Wrap the hard_header_parse function to simplify next step of
    header_ops conversion.

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

    Stephen Hemminger
     
  • It's been a useless no-op for long enough in 2.6 so I figured it's time to
    remove it. The number of people that could object because they're
    maintaining unified 2.4 and 2.6 drivers is probably rather small.

    [ Handled drivers added by netdev tree and some missed IRDA cases... -DaveM ]

    Signed-off-by: Ralf Baechle
    Signed-off-by: Jeff Garzik
    Signed-off-by: David S. Miller

    Ralf Baechle
     

31 Aug, 2007

7 commits

  • A network interface can get ARP packets even when the interface has
    NOARP specified. In a HiperSockets environment this disturbs receiving
    systems when packets are sent on the multicast queue. (E.g. TCP/IP on
    z/VM issues messages reporting invalid data on the HiperSockets
    interface.)
    Qeth will no longer send ARP packets on HiperSockets interface when
    interface has the NOARP attribute.

    Signed-off-by: Klaus D. Wacker
    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Klaus D. Wacker
     
  • Exclusive usage of OSA-cards has been introduced. Even though Linux
    does not make use of it, qeth should be prepared to receive a bad RC
    for some initialization steps. A meaningful message is now given,
    if an OSA-device is set online, even though the OSA-adapter is already
    exclusively used by another host.

    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • Online setting of a qeth device may fail for instance because of:
    - out-of-memory condition when allocating qdio queues
    - IDX ACTIVATE problem
    - ...
    Such a device is still returned in a driver_for_each_device loop
    processed in qeth_reboot_event(), which calls
    qeth_clear_qdio_buffers(). Make sure qeth_clear_output_buffer() is
    called only, if the qdio queues have been successfully allocated
    during initialization of a qeth device.

    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • TSO requires tx checksumming. For non GSO frames in TSO/EDDP mode we
    have to manually calculate the checksum.

    Signed-off-by: Frank Blaschka
    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Frank Blaschka
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Heiko Carstens
     
  • under memory pressure scatter gather mode switching messages must be
    rate limited.

    Signed-off-by: Frank Blaschka
    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Frank Blaschka
     
  • Problem:
    A recovery thread must not be active when device is removed.
    In qeth_remove_device() an interruptible wait operation is used
    to wait until a qeth recovery thread is finished. If a user really
    interrupts the ungroup operation of a qeth device while a recovery
    is running, cio and qeth are out of sync (device already removed
    from cio, but kept in qeth). A following module unload of qeth
    results in a kernel OOPS here.

    Solution:
    Do not allow interruption of ungroup operation to guarantee
    finishing of a potentially running qeth recovery thread.

    Signed-off-by: Ursula Braun
    Signed-off-by: Jeff Garzik

    Ursula Braun
     

26 Jul, 2007

1 commit

  • This avoids use of the kernel-internal "xtime" variable directly outside
    of the actual time-related functions. Instead, use the helper functions
    that we already have available to us.

    This doesn't actually change any behaviour, but this will allow us to
    fix the fact that "xtime" isn't updated very often with CONFIG_NO_HZ
    (because much of the realtime information is maintained as separate
    offsets to 'xtime'), which has caused interfaces that use xtime directly
    to get a time that is out of sync with the real-time clock by up to a
    third of a second or so.

    Signed-off-by: John Stultz
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Linus Torvalds

    john stultz
     

20 Jul, 2007

1 commit

  • Transform some calls to kmalloc/memset to a single kzalloc (or kcalloc).

    Here is a short excerpt of the semantic patch performing
    this transformation:

    @@
    type T2;
    expression x;
    identifier f,fld;
    expression E;
    expression E1,E2;
    expression e1,e2,e3,y;
    statement S;
    @@

    x =
    - kmalloc
    + kzalloc
    (E1,E2)
    ... when != \(x->fld=E;\|y=f(...,x,...);\|f(...,x,...);\|x=E;\|while(...) S\|for(e1;e2;e3) S\)
    - memset((T2)x,0,E1);

    @@
    expression E1,E2,E3;
    @@

    - kzalloc(E1 * E2,E3)
    + kcalloc(E1,E2,E3)

    [akpm@linux-foundation.org: get kcalloc args the right way around]
    Signed-off-by: Yoann Padioleau
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Acked-by: Russell King
    Cc: Bryan Wu
    Acked-by: Jiri Slaby
    Cc: Dave Airlie
    Acked-by: Roland Dreier
    Cc: Jiri Kosina
    Acked-by: Dmitry Torokhov
    Cc: Benjamin Herrenschmidt
    Acked-by: Mauro Carvalho Chehab
    Acked-by: Pierre Ossman
    Cc: Jeff Garzik
    Cc: "David S. Miller"
    Acked-by: Greg KH
    Cc: James Bottomley
    Cc: "Antonino A. Daplas"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yoann Padioleau
     

17 Jul, 2007

3 commits

  • * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (37 commits)
    forcedeth bug fix: realtek phy
    forcedeth bug fix: vitesse phy
    forcedeth bug fix: cicada phy
    atl1: reorder atl1_main functions
    atl1: fix excessively indented code
    atl1: cleanup atl1_main
    atl1: header file cleanup
    atl1: remove irq_sem
    cdc-subset to support new vendor/product ID
    8139cp: implement the missing dev->tx_timeout
    myri10ge: Remove nonsensical limit in the tx done routine
    gianfar: kill unused header
    EP93XX_ETH must select MII
    macb: Add multicast capability
    macb: Use generic PHY layer
    s390: add barriers to qeth driver
    s390: scatter-gather for inbound traffic in qeth driver
    eHEA: Introducing support vor DLPAR memory add
    Fix a potential NULL pointer dereference in free_shared_mem() in drivers/net/s2io.c
    [PATCH] softmac: Fix ESSID problem
    ...

    Linus Torvalds
     
  • Add barrier to loop where atomic variable is evaluated.

    Signed-off-by: Frank Blaschka
    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Pavlic
    Signed-off-by: Jeff Garzik

    Frank Blaschka
     
  • For large incoming packets > PAGE_SIZE/2 qeth creates a fragmented skb
    by adding pointers to qdio pages to the fragment list of the skb.
    This avoids allocating big chunks of consecutive memory. Also copying
    data from the qdio buffer to the skb is economized.

    Signed-off-by: Frank Blaschka
    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Pavlic
    Signed-off-by: Jeff Garzik

    Frank Blaschka
     

12 Jul, 2007

1 commit

  • sysfs is now completely out of driver/module lifetime game. After
    deletion, a sysfs node doesn't access anything outside sysfs proper,
    so there's no reason to hold onto the attribute owners. Note that
    often the wrong modules were accounted for as owners leading to
    accessing removed modules.

    This patch kills now unnecessary attribute->owner. Note that with
    this change, userland holding a sysfs node does not prevent the
    backing module from being unloaded.

    For more info regarding lifetime rule cleanup, please read the
    following message.

    http://article.gmane.org/gmane.linux.kernel/510293

    (tweaked by Greg to not delete the field just yet, to make it easier to
    merge things properly.)

    Signed-off-by: Tejun Heo
    Cc: Cornelia Huck
    Cc: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Tejun Heo
     

21 Jun, 2007

8 commits


10 May, 2007

2 commits


09 May, 2007

1 commit


08 May, 2007

4 commits

  • s390: qeth driver hardware specs adaptions
    - according to the latest OSA hardware specification
    incorporate actual IPA command and return codes into qeth.
    - whitespaces removed from qeth_mpc.h

    Signed-off-by: Peter Tiedemann
    Signed-off-by: Frank Pavlic
    Signed-off-by: Jeff Garzik

    Peter Tiedemann
     
  • don't remove an entry from iucv_connection_list in netiucv_exit().
    netiucv_free_netdevice is called anyway, which takes care of entry
    removal.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Pavlic
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • Free sent skbs in some finite amount of time. Affected are
    asynchronous queue of Hipersockets devices and the output
    queues of all eth-devices respectively.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Pavlic
    Signed-off-by: Jeff Garzik

    Ursula Braun
     
  • Frank Pavlic

    Connection hangs when using EDDP mode because sk_protocol is NULL
    when skb has been copied via skb_copy. This results in dropping
    packets.
    Also keep MAC address after recovery of Virtual NICs so that
    traffic can flow again and duplicate statements in
    qeth_dev_set_route_store removed.

    Signed-off-by: Ursula Braun
    Signed-off-by: Frank Pavlic
    Signed-off-by: Jeff Garzik

    Ursula Braun
     

05 May, 2007

1 commit


28 Apr, 2007

2 commits

  • the current driver tree contains the removal of subsys.rwsem.
    Unfortunately, this breaks qeth. However, it should be no problem to
    fix the walking of the devices for /proc/qeth:

    No need to take subsys.rwsem during walking the devices,
    driver_find_devices() should already suffice.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Greg Kroah-Hartman

    Cornelia Huck
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (448 commits)
    [IPV4] nl_fib_lookup: Initialise res.r before fib_res_put(&res)
    [IPV6]: Fix thinko in ipv6_rthdr_rcv() changes.
    [IPV4]: Add multipath cached to feature-removal-schedule.txt
    [WIRELESS] cfg80211: Clarify locking comment.
    [WIRELESS] cfg80211: Fix locking in wiphy_new.
    [WEXT] net_device: Don't include wext bits if not required.
    [WEXT]: Misc code cleanups.
    [WEXT]: Reduce inline abuse.
    [WEXT]: Move EXPORT_SYMBOL statements where they belong.
    [WEXT]: Cleanup early ioctl call path.
    [WEXT]: Remove options.
    [WEXT]: Remove dead debug code.
    [WEXT]: Clean up how wext is called.
    [WEXT]: Move to net/wireless
    [AFS]: Eliminate cmpxchg() usage in vlocation code.
    [RXRPC]: Fix pointers passed to bitops.
    [RXRPC]: Remove bogus atomic_* overrides.
    [AFS]: Fix u64 printing in debug logging.
    [AFS]: Add "directory write" support.
    [AFS]: Implement the CB.InitCallBackState3 operation.
    ...

    Linus Torvalds