11 Jan, 2009

6 commits

  • The recent dmaengine rework removed the capability to remove dma device
    driver modules while net_dma is active. Rather than notify
    dmaengine-clients that channels are trying to be removed, we now rely on
    clients to notify dmaengine when they no longer have a need for
    channels. Teach net_dma to release channels by taking dmaengine
    references at netdevice open and dropping references at netdevice close.

    Acked-by: Maciej Sosnowski
    Signed-off-by: Dan Williams
    Signed-off-by: David S. Miller

    Dan Williams
     
  • Thanks to Wei and Arnaldo for pointing out the correct
    new reference for CCID-3.

    Signed-off-by: Gerrit Renker
    Signed-off-by: David S. Miller

    Gerrit Renker
     
  • Removed the __exit annotation of tfrc_lib_exit(), in order to suppress the following section mismatch messages:

    WARNING: net/dccp/dccp.o(.text+0xd9): Section mismatch in reference from the function ccid_cleanup_builtins() to the function .exit.text:tfrc_lib_exit()
    The function ccid_cleanup_builtins() references a function in an exit section.
    Often the function tfrc_lib_exit() has valid usage outside the exit section
    and the fix is to remove the __exit annotation of tfrc_lib_exit.

    WARNING: net/dccp/dccp.o(.init.text+0x48): Section mismatch in reference from the function ccid_initialize_builtins() to the function .exit.text:tfrc_lib_exit()
    The function __init ccid_initialize_builtins() references
    a function __exit tfrc_lib_exit().
    This is often seen when error handling in the init function
    uses functionality in the exit path.
    The fix is often to remove the __exit annotation of
    tfrc_lib_exit() so it may be used outside an exit section.

    Signed-off-by: Leonardo Potenza
    Acked-by: Arnaldo Carvalho de Melo
    Acked-by: Gerrit Renker
    Signed-off-by: David S. Miller

    Leonardo Potenza
     
  • In each case, if the NULL test is necessary, then the dereference should be
    moved below the NULL test.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @@
    type T;
    expression E;
    identifier i,fld;
    statement S;
    @@

    - T i = E->fld;
    + T i;
    ... when != E
    when != i
    if (E == NULL) S
    + i = E->fld;
    //

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

    Julia Lawall
     
  • ARRAY_SIZE is more concise to use when the size of an array is divided by
    the size of its type or the size of its first element.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @i@
    @@

    #include

    @depends on i using "paren.iso"@
    type T;
    T[] E;
    @@

    - (sizeof(E)/sizeof(T))
    + ARRAY_SIZE(E)
    //

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

    Julia Lawall
     
  • When I made ipcomp use frags, I forgot to take out the original
    truesize update that was added for pskb_expand_head. As we no
    longer expand the head of skb, that update should have been removed.

    This bug is not related to the truesize warnings since we only
    made it bigger than what it should've been.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

10 Jan, 2009

1 commit

  • * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/djbw/async_tx: (22 commits)
    ioat: fix self test for multi-channel case
    dmaengine: bump initcall level to arch_initcall
    dmaengine: advertise all channels on a device to dma_filter_fn
    dmaengine: use idr for registering dma device numbers
    dmaengine: add a release for dma class devices and dependent infrastructure
    ioat: do not perform removal actions at shutdown
    iop-adma: enable module removal
    iop-adma: kill debug BUG_ON
    iop-adma: let devm do its job, don't duplicate free
    dmaengine: kill enum dma_state_client
    dmaengine: remove 'bigref' infrastructure
    dmaengine: kill struct dma_client and supporting infrastructure
    dmaengine: replace dma_async_client_register with dmaengine_get
    atmel-mci: convert to dma_request_channel and down-level dma_slave
    dmatest: convert to dma_request_channel
    dmaengine: introduce dma_request_channel and private channels
    net_dma: convert to dma_find_channel
    dmaengine: provide a common 'issue_pending_all' implementation
    dmaengine: centralize channel allocation, introduce dma_find_channel
    dmaengine: up-level reference counting to the module level
    ...

    Linus Torvalds
     

09 Jan, 2009

10 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (84 commits)
    wimax: fix kernel-doc for debufs_dentry member of struct wimax_dev
    net: convert pegasus driver to net_device_ops
    bnx2x: Prevent eeprom set when driver is down
    net: switch kaweth driver to netdevops
    pcnet32: round off carrier watch timer
    i2400m/usb: wrap USB power saving in #ifdef CONFIG_PM
    wimax: testing for rfkill support should also test for CONFIG_RFKILL_MODULE
    wimax: fix kconfig interactions with rfkill and input layers
    wimax: fix '#ifndef CONFIG_BUG' layout to avoid warning
    r6040: bump release number to 0.20
    r6040: warn about MAC address being unset
    r6040: check PHY status when bringing interface up
    r6040: make printks consistent with DRV_NAME
    gianfar: Fixup use of BUS_ID_SIZE
    mlx4_en: Returning real Max in get_ringparam
    mlx4_en: Consider inline packets on completion
    netdev: bfin_mac: enable bfin_mac net dev driver for BF51x
    qeth: convert to net_device_ops
    vlan: add neigh_setup
    dm9601: warn on invalid mac address
    ...

    Linus Torvalds
     
  • Current WiMAX rfkill code is missing the case where rfkill is compiled
    in as modules and works only when rfkill is compiled in. This is not
    correct. Fixed to test for CONFIG_RFKILL or CONFIG_RKILL_MODULE.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: David S. Miller

    Inaky Perez-Gonzalez
     
  • WiMAX can work without RFKILL, but it was missing a check to make sure
    RFKILL is not being made a module with wimax compiled into the
    kernel. This caused failed builds in s390, where CONFIG_INPUT is
    always off.

    When RFKILL is enabled, the code uses the input layer to report
    hardware switch changes; thus, if RFKILL is enabled, INPUT has to be
    too. It also needs to display some message when INPUT is disabled that
    explains why WiMAX is not selectable.

    (issues found by Randy Dunlap in the linux-next tree).

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: David S. Miller

    Inaky Perez-Gonzalez
     
  • Reported by Randy Dunlap:

    > Also, this warning needs to be fixed:
    >
    > linux-next-20090106/net/wimax/id-table.c:133: warning: ISO C90
    > forbids mixed declarations and code

    Move the return on #defined(CONFIG_BUG) below the variable
    declarations so it doesn't violate ISO C90.

    On wimax_id_table_release() we want to do a debug check if CONFIG_BUG
    is enabled. However, we also want the debug code to be always compiled
    to ensure there is no bitrot. It will be optimized out by the compiler
    when CONFIG_BUG is disabled.

    Added a note to the function header stating this.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: David S. Miller

    Inaky Perez-Gonzalez
     
  • David S. Miller
     
  • In case the real device has a neigh_setup function, this
    neigh_setup function should be used for the vlan device.

    Signed-off-by: Frank Blaschka
    Signed-off-by: David S. Miller

    Frank Blaschka
     
  • This patch adds GRO support for TCP over IPv6. The code is exactly
    the same as the IPv4 version except for the pseudo-header checksum
    computation.

    Note that I've removed the unused tcphdr argument from tcp_v6_check
    rather than invent a bogus value for GRO.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • This patch adds GRO support for IPv6. IPv6 GRO supports extension
    headers in the same way as GSO (by using the same infrastructure).
    It's also simpler compared to IPv4 since we no longer have to worry
    about fragmentation attributes or header checksums.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • When I review ocfs2 code, find there are 2 typos to "successfull". After
    doing grep "successfull " in kernel tree, 22 typos found totally -- great
    minds always think alike :)

    This patch fixes all the similar typos. Thanks for Randy's ack and comments.

    Signed-off-by: Coly Li
    Acked-by: Randy Dunlap
    Acked-by: Roland Dreier
    Cc: Jeremy Kerr
    Cc: Jeff Garzik
    Cc: Heiko Carstens
    Cc: Martin Schwidefsky
    Cc: Theodore Ts'o
    Cc: Mark Fasheh
    Cc: Vlad Yasevich
    Cc: Sridhar Samudrala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Coly Li
     
  • Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Acked-by: Theodore Ts'o
    Acked-by: Mark Fasheh
    Acked-by: David S. Miller
    Cc: James Morris
    Acked-by: Casey Schaufler
    Acked-by: Takashi Iwai
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fernando Carrijo
     

08 Jan, 2009

16 commits

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

    Stephen Hemminger
     
  • Convert to net_device_ops and use internal net_device_stats in bnep
    device.

    Note: no need for bnep_net_ioctl since if ioctl is not set, then
    dev_ifsioc handles it by returning -EOPNOTSUPP

    Signed-off-by: Stephen Hemminger
    Acked-by: Marcel Holtmann
    Signed-off-by: David S. Miller

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

    Stephen Hemminger
     
  • * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: (67 commits)
    nfsd: get rid of NFSD_VERSION
    nfsd: last_byte_offset
    nfsd: delete wrong file comment from nfsd/nfs4xdr.c
    nfsd: git rid of nfs4_cb_null_ops declaration
    nfsd: dprint each op status in nfsd4_proc_compound
    nfsd: add etoosmall to nfserrno
    NFSD: FIDs need to take precedence over UUIDs
    SUNRPC: The sunrpc server code should not be used by out-of-tree modules
    svc: Clean up deferred requests on transport destruction
    nfsd: fix double-locks of directory mutex
    svc: Move kfree of deferral record to common code
    CRED: Fix NFSD regression
    NLM: Clean up flow of control in make_socks() function
    NLM: Refactor make_socks() function
    nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT
    SUNRPC: Ensure the server closes sockets in a timely fashion
    NFSD: Add documenting comments for nfsctl interface
    NFSD: Replace open-coded integer with macro
    NFSD: Fix a handful of coding style issues in write_filehandle()
    NFSD: clean up failover sysctl function naming
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (123 commits)
    wimax/i2400m: add CREDITS and MAINTAINERS entries
    wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install
    i2400m: Makefile and Kconfig
    i2400m/SDIO: TX and RX path backends
    i2400m/SDIO: firmware upload backend
    i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends
    i2400m/SDIO: header for the SDIO subdriver
    i2400m/USB: TX and RX path backends
    i2400m/USB: firmware upload backend
    i2400m/USB: probe/disconnect, dev init/shutdown and reset backends
    i2400m/USB: header for the USB bus driver
    i2400m: debugfs controls
    i2400m: various functions for device management
    i2400m: RX and TX data/control paths
    i2400m: firmware loading and bootrom initialization
    i2400m: linkage to the networking stack
    i2400m: Generic probe/disconnect, reset and message passing
    i2400m: host/device procotol and core driver definitions
    i2400m: documentation and instructions for usage
    wimax: Makefile, Kconfig and docbook linkage for the stack
    ...

    Linus Torvalds
     
  • Signed-off-by: Trond Myklebust
    Signed-off-by: J. Bruce Fields

    Trond Myklebust
     
  • A race between svc_revisit and svc_delete_xprt can result in
    deferred requests holding references on a transport that can never be
    recovered because dead transports are not enqueued for subsequent
    processing.

    Check for XPT_DEAD in revisit to clean up completing deferrals on a dead
    transport and sweep a transport's deferred queue to do the same for queued
    but unprocessed deferrals.

    Signed-off-by: Tom Tucker
    Signed-off-by: J. Bruce Fields

    Tom Tucker
     
  • The rqstp structure has a pointer to a svc_deferred_req record
    that is allocated when requests are deferred. This record is common
    to all transports and can be freed in common code.

    Move the kfree of the rq_deferred to the common svc_xprt_release
    function.

    This also fixes a memory leak in the RDMA transport which does not
    kfree the dr structure in it's version of the xpo_release_rqst callback.

    Signed-off-by: Tom Tucker
    Signed-off-by: J. Bruce Fields

    Tom Tucker
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (24 commits)
    trivial: chack -> check typo fix in main Makefile
    trivial: Add a space (and a comma) to a printk in 8250 driver
    trivial: Fix misspelling of "firmware" in docs for ncr53c8xx/sym53c8xx
    trivial: Fix misspelling of "firmware" in powerpc Makefile
    trivial: Fix misspelling of "firmware" in usb.c
    trivial: Fix misspelling of "firmware" in qla1280.c
    trivial: Fix misspelling of "firmware" in a100u2w.c
    trivial: Fix misspelling of "firmware" in megaraid.c
    trivial: Fix misspelling of "firmware" in ql4_mbx.c
    trivial: Fix misspelling of "firmware" in acpi_memhotplug.c
    trivial: Fix misspelling of "firmware" in ipw2100.c
    trivial: Fix misspelling of "firmware" in atmel.c
    trivial: Fix misspelled firmware in Kconfig
    trivial: fix an -> a typos in documentation and comments
    trivial: fix then -> than typos in comments and documentation
    trivial: update Jesper Juhl CREDITS entry with new email
    trivial: fix singal -> signal typo
    trivial: Fix incorrect use of "loose" in event.c
    trivial: printk: fix indentation of new_text_line declaration
    trivial: rtc-stk17ta8: fix sparse warning
    ...

    Linus Torvalds
     
  • This patch provides Makefile and KConfig for the WiMAX stack,
    integrating them into the networking stack's Makefile, Kconfig and
    doc-book templates.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     
  • Expose knobs to control the stack's debug output.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     
  • Implements the three basic operations provided by the stack's control
    interface to WiMAX devices:

    - Messaging channel between user space and driver/device

    This implements a direct communication channel between user space
    and the driver/device, by which free form messages can be sent back
    and forth.

    This is intended for device-specific features, vendor quirks, etc.

    - RF-kill framework integration

    Provide most of the RF-Kill integration for WiMAX drivers so that
    all device drivers have to do is after wimax_dev_add() is call
    wimax_report_rfkill_{hw,sw}() to update initial state and then every
    time it changes.

    Provides wimax_rfkill() for the kernel to call to set software
    RF-Kill status and/or query current hardware and software switch
    status.

    Exports wimax_rfkill() over generic netlink to user space.

    - Reset a WiMAX device

    Provides wimax_reset() for the kernel to reset a wimax device as
    needed and exports it over generic netlink to user space.

    This API is clearly limited, as it still provides no way to do the
    basic scan, connect and disconnect in a hardware independent way. The
    WiMAX case is more complex than WiFi due to the way networks are
    discovered and provisioned.

    The next developments are to add the basic operations so they can be
    offerent by different drivers. However, we'd like to get more vendors
    to jump in and provide feedback of how the user/kernel API/abstraction
    layer should be.

    The user space code for the i2400m, as of now, uses the messaging
    channel, but that will change as the API evolves.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     
  • Add an EXPORT_SYMBOL() to genl_unregister_mc_group(), to allow
    unregistering groups on the run. EXPORT_SYMBOL_GPL() is not used as
    the rest of the functions exported by this module (eg:
    genl_register_mc_group) are also not _GPL().

    Cleanup is currently done when unregistering a family, but there is
    no way to unregister a single multicast group due to that function not
    being exported. Seems to be a mistake as it is documented as for
    external consumption.

    This is needed by the WiMAX stack to be able to cleanup unused mc
    groups.

    Signed-off-by: Inaky Perez-Gonzalez
    Acked-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     
  • Implements the basic life cycles of a 'struct wimax_dev', some common
    generic netlink functionality for marshalling calls to user space,
    and the device state machine.

    For looking up net devices based on their generic netlink family IDs,
    use a low overhead method that optimizes for the case where most
    systems have a single WiMAX device, or at most, a very low number of
    WiMAX adaptors.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     
  • This file contains a simple debug framework that is used in the stack;
    it allows the debug level to be controlled at compile-time (so the
    debug code is optimized out) and at run-time (for what wasn't compiled
    out).

    This is eventually going to be moved to use dynamic_printk(). Just
    need to find time to do it.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     
  • This file contains declarations and definitions used by the different
    submodules of the stack.

    Signed-off-by: Inaky Perez-Gonzalez
    Signed-off-by: Greg Kroah-Hartman

    Inaky Perez-Gonzalez
     

07 Jan, 2009

7 commits

  • …s/security-testing-2.6

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:
    CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #3]
    Revert "CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]"
    SELinux: shrink sizeof av_inhert selinux_class_perm and context
    CRED: Fix regression in cap_capable() as shown up by sys_faccessat() [ver #2]
    keys: fix sparse warning by adding __user annotation to cast
    smack: Add support for unlabeled network hosts and networks
    selinux: Deprecate and schedule the removal of the the compat_net functionality
    netlabel: Update kernel configuration API

    Linus Torvalds
     
  • Convert this driver to use net_device_ops

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

    Stephen Hemminger
     
  • James Morris
     
  • The AF_CAN core delivered always cloned sk_buffs to the AF_CAN
    protocols, although this was _only_ needed by the can-raw protocol.
    With this (additionally documented) change, the AF_CAN core calls the
    callback functions of the registered AF_CAN protocols with the original
    (uncloned) sk_buff pointer and let's the can-raw protocol do the
    skb_clone() itself which omits all unneeded skb_clone() calls for other
    AF_CAN protocols.

    Signed-off-by: Oliver Hartkopp
    Signed-off-by: Urs Thuermann
    Signed-off-by: David S. Miller

    Oliver Hartkopp
     
  • This patch adds GRO interfaces for hardware-assisted VLAN reception.
    With this in place we're now at parity with LRO as far as the
    interface is concerned. That is, you can now take any LRO driver
    and convert it over to GRO.

    As the CB memory clashes with GRO's use of CB, I've removed it
    entirely by storing dev in skb->dev. This is OK because VLAN
    gets called first thing in netif_receive_skb and skb->dev is
    not used in between us calling netif_rx and netif_receive_skb
    getting called.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Previously GRO's only entry point from the outside is through
    napi_gro_receive and napi_gro_frags. These interfaces are for
    device drivers.

    This patch rearranges things to provide a new set of interfaces
    for VLANs. These interfaces are for internal use only. The
    VLAN code itself can then provide a set of entry points for
    device drivers.

    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Convert this driver to net_device_ops.

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

    Stephen Hemminger