01 Nov, 2011

2 commits


21 May, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1674 commits)
    qlcnic: adding co maintainer
    ixgbe: add support for active DA cables
    ixgbe: dcb, do not tag tc_prio_control frames
    ixgbe: fix ixgbe_tx_is_paused logic
    ixgbe: always enable vlan strip/insert when DCB is enabled
    ixgbe: remove some redundant code in setting FCoE FIP filter
    ixgbe: fix wrong offset to fc_frame_header in ixgbe_fcoe_ddp
    ixgbe: fix header len when unsplit packet overflows to data buffer
    ipv6: Never schedule DAD timer on dead address
    ipv6: Use POSTDAD state
    ipv6: Use state_lock to protect ifa state
    ipv6: Replace inet6_ifaddr->dead with state
    cxgb4: notify upper drivers if the device is already up when they load
    cxgb4: keep interrupts available when the ports are brought down
    cxgb4: fix initial addition of MAC address
    cnic: Return SPQ credit to bnx2x after ring setup and shutdown.
    cnic: Convert cnic_local_flags to atomic ops.
    can: Fix SJA1000 command register writes on SMP systems
    bridge: fix build for CONFIG_SYSFS disabled
    ARCNET: Limit com20020 PCI ID matches for SOHARD cards
    ...

    Fix up various conflicts with pcmcia tree drivers/net/
    {pcmcia/3c589_cs.c, wireless/orinoco/orinoco_cs.c and
    wireless/orinoco/spectrum_cs.c} and feature removal
    (Documentation/feature-removal-schedule.txt).

    Also fix a non-content conflict due to pm_qos_requirement getting
    renamed in the PM tree (now pm_qos_request) in net/mac80211/scan.c

    Linus Torvalds
     

18 May, 2010

1 commit

  • This patch removes from net/ (but not any netfilter files)
    all the unnecessary return; statements that precede the
    last closing brace of void functions.

    It does not remove the returns that are immediately
    preceded by a label as gcc doesn't like that.

    Done via:
    $ grep -rP --include=*.[ch] -l "return;\n}" net/ | \
    xargs perl -i -e 'local $/ ; while (<>) { s/\n[ \t\n]+return;\n}/\n}/g; print; }'

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     

12 May, 2010

1 commit


23 Apr, 2010

1 commit


12 Apr, 2010

1 commit


30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

25 Mar, 2010

1 commit


16 Mar, 2010

1 commit


19 Feb, 2010

1 commit


10 Dec, 2009

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (42 commits)
    tree-wide: fix misspelling of "definition" in comments
    reiserfs: fix misspelling of "journaled"
    doc: Fix a typo in slub.txt.
    inotify: remove superfluous return code check
    hdlc: spelling fix in find_pvc() comment
    doc: fix regulator docs cut-and-pasteism
    mtd: Fix comment in Kconfig
    doc: Fix IRQ chip docs
    tree-wide: fix assorted typos all over the place
    drivers/ata/libata-sff.c: comment spelling fixes
    fix typos/grammos in Documentation/edac.txt
    sysctl: add missing comments
    fs/debugfs/inode.c: fix comment typos
    sgivwfb: Make use of ARRAY_SIZE.
    sky2: fix sky2_link_down copy/paste comment error
    tree-wide: fix typos "couter" -> "counter"
    tree-wide: fix typos "offest" -> "offset"
    fix kerneldoc for set_irq_msi()
    spidev: fix double "of of" in comment
    comment typo fix: sybsystem -> subsystem
    ...

    Linus Torvalds
     

04 Dec, 2009

1 commit

  • That is "success", "unknown", "through", "performance", "[re|un]mapping"
    , "access", "default", "reasonable", "[con]currently", "temperature"
    , "channel", "[un]used", "application", "example","hierarchy", "therefore"
    , "[over|under]flow", "contiguous", "threshold", "enough" and others.

    Signed-off-by: André Goddard Rosa
    Signed-off-by: Jiri Kosina

    André Goddard Rosa
     

30 Nov, 2009

1 commit


19 Oct, 2009

4 commits

  • Until now, calls to wimax_rfkill() will be blocked until the device is
    at least past the WIMAX_ST_UNINITIALIZED state, return -ENOMEDIUM when
    the device is in the WIMAX_ST_DOWN state.

    In parallel, wimax-tools would issue a wimax_rfkill(WIMAX_RF_QUERY)
    call right after opening a handle with wimaxll_open() as means to
    verify if the interface is really a WiMAX interface [newer kernel
    version will have a call specifically for this].

    The combination of these two facts is that in some cases, before the
    driver has finalized initializing its device's firmware, a
    wimaxll_open() call would fail, when it should not.

    Thus, change the wimax_rfkill() code to allow queries when the device
    is in WIMAX_ST_UNINITIALIZED state.

    Signed-off-by: Inaky Perez-Gonzalez

    Inaky Perez-Gonzalez
     
  • It makes sense that the messaging pipe to the device can be used
    before the device is fully ready, as long as it is registered with the
    stack. Some debugging tools need it.

    Signed-off-by: Inaky Perez-Gonzalez

    Inaky Perez-Gonzalez
     
  • Add "debug" module options to all the wimax modules (including
    drivers) so that the debug levels can be set upon kernel boot or
    module load time.

    This is needed as currently there was a limitation where the debug
    levels could only be set when a device was succesfully
    enumerated. This made it difficult to debug issues that made a device
    not probe properly.

    Signed-off-by: Inaky Perez-Gonzalez

    Inaky Perez-Gonzalez
     
  • The WiMAX stack assumes that all WiMAX devices are SW OFF when they
    are initialized. The recent changes in the RFKILL stack thus cause an
    initial call after rfkill_register(), because by default, rfkill
    considers devices to be SW ON upon registration.

    So call rfkill_init_sw_state() to set it to SW OFF so
    rfkill_register() doesn't do that unnecessary step.

    Signed-off-by: Inaky Perez-Gonzalez

    Inaky Perez-Gonzalez
     

12 Jun, 2009

1 commit


04 Jun, 2009

2 commits

  • My mistake, I should have added that when cleaning up
    rfkill and changing wimax.

    Reported-by: Randy Dunlap
    Signed-off-by: Johannes Berg
    Acked-by: Inaky Perez-Gonzalez
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • This patch completely rewrites the rfkill core to address
    the following deficiencies:

    * all rfkill drivers need to implement polling where necessary
    rather than having one central implementation

    * updating the rfkill state cannot be done from arbitrary
    contexts, forcing drivers to use schedule_work and requiring
    lots of code

    * rfkill drivers need to keep track of soft/hard blocked
    internally -- the core should do this

    * the rfkill API has many unexpected quirks, for example being
    asymmetric wrt. alloc/free and register/unregister

    * rfkill can call back into a driver from within a function the
    driver called -- this is prone to deadlocks and generally
    should be avoided

    * rfkill-input pointlessly is a separate module

    * drivers need to #ifdef rfkill functions (unless they want to
    depend on or select RFKILL) -- rfkill should provide inlines
    that do nothing if it isn't compiled in

    * the rfkill structure is not opaque -- drivers need to initialise
    it correctly (lots of sanity checking code required) -- instead
    force drivers to pass the right variables to rfkill_alloc()

    * the documentation is hard to read because it always assumes the
    reader is completely clueless and contains way TOO MANY CAPS

    * the rfkill code needlessly uses a lot of locks and atomic
    operations in locked sections

    * fix LED trigger to actually change the LED when the radio state
    changes -- this wasn't done before

    Tested-by: Alan Jenkins
    Signed-off-by: Henrique de Moraes Holschuh [thinkpad]
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

29 May, 2009

2 commits

  • wimax connection manager / daemon has to know what is current
    state of the device. Previously it was only possible to get
    notification whet state has changed.

    Note:

    By mistake, the new generic netlink's number for
    WIMAX_GNL_OP_STATE_GET was declared inserting into the existing list
    of API calls, not appending; thus, it'd break existing API.

    Fixed by Inaky Perez-Gonzalez by moving to
    the tail, where we add to the interface, not modify the interface.

    Thanks to Stephen Hemminger for catching this.

    Signed-off-by: Paulius Zaleckas

    Paulius Zaleckas
     
  • Funcion documentation for wimax_msg_alloc() and wimax_msg_send() needs
    to clarify that they can be used in the very early stages of a
    wimax_dev lifecycle.

    Signed-off-by: Inaky Perez-Gonzalez

    Inaky Perez-Gonzalez
     

08 May, 2009

1 commit


07 May, 2009

2 commits

  • When a new wimax_dev is created, it's state has to be __WIMAX_ST_NULL
    until wimax_dev_add() is succesfully called. This allows calls into
    the stack that happen before said time to be rejected.

    Until now, the state was being set (by mistake) to UNINITIALIZED,
    which was allowing calls such as wimax_report_rfkill_hw() to go
    through even when a call to wimax_dev_add() had failed; that was
    causing an oops when touching uninitialized data.

    This situation is normal when the device starts reporting state before
    the whole initialization has been completed. It just has to be dealt
    with.

    Signed-off-by: Inaky Perez-Gonzalez

    Inaky Perez-Gonzalez
     
  • When sending a message to user space using wimax_msg(), if nla_put()
    fails, correctly interpret the return code from wimax_msg_alloc() as
    an err ptr and return the error code instead of crashing (as it is
    assuming than non-NULL means the pointer is ok).

    Signed-off-by: Inaky Perez-Gonzalez

    Inaky Perez-Gonzalez
     

23 Apr, 2009

2 commits

  • Almost all drivers do not support user_claim, so remove it
    completely and always report -EOPNOTSUPP to userspace. Since
    userspace cannot really drive rfkill _anyway_ (due to the
    odd restrictions imposed by the documentation) having this
    code is just pointless.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • I only did superficial review, but these constants are stupid
    to have and without proper warnings nobody will review the
    code anyway, no amount of shouting will help.

    Also fix wimax to use correct states.

    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

30 Mar, 2009

1 commit


15 Feb, 2009

1 commit


13 Feb, 2009

1 commit


06 Feb, 2009

1 commit

  • Currently, netlink_broadcast() reports errors to the caller if no
    messages at all were delivered:

    1) If, at least, one message has been delivered correctly, returns 0.
    2) Otherwise, if no messages at all were delivered due to skb_clone()
    failure, return -ENOBUFS.
    3) Otherwise, if there are no listeners, return -ESRCH.

    With this patch, the caller knows if the delivery of any of the
    messages to the listeners have failed:

    1) If it fails to deliver any message (for whatever reason), return
    -ENOBUFS.
    2) Otherwise, if all messages were delivered OK, returns 0.
    3) Otherwise, if no listeners, return -ESRCH.

    In the current ctnetlink code and in Netfilter in general, we can add
    reliable logging and connection tracking event delivery by dropping the
    packets whose events were not successfully delivered over Netlink. Of
    course, this option would be settable via /proc as this approach reduces
    performance (in terms of filtered connections per seconds by a stateful
    firewall) but providing reliable logging and event delivery (for
    conntrackd) in return.

    This patch also changes some clients of netlink_broadcast() that
    may report ENOBUFS errors via printk. This error handling is not
    of any help. Instead, the userspace daemons that are listening to
    those netlink messages should resync themselves with the kernel-side
    if they hit ENOBUFS.

    BTW, netlink_broadcast() clients include those that call
    cn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they
    internally call netlink_broadcast() and return its error value.

    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Pablo Neira Ayuso
     

30 Jan, 2009

1 commit

  • As reported by Toralf Förster and Randy Dunlap.

    - http://linuxwimax.org/pipermail/wimax/2009-January/000460.html

    - http://lkml.org/lkml/2009/1/29/279

    The definitions needed for the wimax stack and i2400m driver debug
    infrastructure was, by mistake, compiled depending on CONFIG_DEBUG_FS
    (by them being placed in the debugfs.c files); thus the build broke in
    2.6.29-rc3 when debugging was enabled (CONFIG_WIMAX_DEBUG) and
    DEBUG_FS was disabled.

    These definitions are always needed if debug is enabled at compile
    time (independently of DEBUG_FS being or not enabled), so moving them
    to a file that is always compiled fixes the issue.

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

    Inaky Perez-Gonzalez
     

09 Jan, 2009

3 commits

  • 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
     

08 Jan, 2009

4 commits

  • 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
     
  • 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