24 Aug, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (27 commits)
    netfilter: fix CONFIG_COMPAT support
    isdn/avm: fix build when PCMCIA is not enabled
    header: fix broken headers for user space
    e1000e: don't check for alternate MAC addr on parts that don't support it
    e1000e: disable ASPM L1 on 82573
    ll_temac: Fix poll implementation
    netxen: fix a race in netxen_nic_get_stats()
    qlnic: fix a race in qlcnic_get_stats()
    irda: fix a race in irlan_eth_xmit()
    net: sh_eth: remove unused variable
    netxen: update version 4.0.74
    netxen: fix inconsistent lock state
    vlan: Match underlying dev carrier on vlan add
    ibmveth: Fix opps during MTU change on an active device
    ehea: Fix synchronization between HW and SW send queue
    bnx2x: Update bnx2x version to 1.52.53-4
    bnx2x: Fix PHY locking problem
    rds: fix a leak of kernel memory
    netlink: fix compat recvmsg
    netfilter: fix userspace header warning
    ...

    Linus Torvalds
     

23 Aug, 2010

1 commit

  • Why wouldn't kconfig symbol ISDN_DRV_AVMB1_B1PCMCIA also depend on
    PCMCIA?

    Fix build for PCMCIA not enabled:

    ERROR: "b1_free_card" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1ctl_proc_fops" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_reset_ctr" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_load_firmware" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_send_message" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_release_appl" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_register_appl" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_getrevision" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_detect" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_interrupt" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!
    ERROR: "b1_alloc_card" [drivers/isdn/hardware/avm/b1pcmcia.ko] undefined!

    Signed-off-by: Randy Dunlap
    Cc: Carsten Paeth
    Cc: Karsten Keil
    Signed-off-by: David S. Miller

    Randy Dunlap
     

14 Aug, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    ctcm: rename READ/WRITE defines to avoid redefinitions
    claw: rename READ/WRITE defines to avoid redefinitions
    phylib: available for any speed ethernet
    can: add limit for nframes and clean up signed/unsigned variables
    pkt_sched: Check .walk and .leaf class handlers
    pkt_sched: Fix sch_sfq vs tc_modify_qdisc oops
    caif-spi: Bugfix SPI_DATA_POS settings were inverted.
    caif: Bugfix - Increase default headroom size for control channel.
    net: make netpoll_rx return bool for !CONFIG_NETPOLL
    Bluetooth: Use 3-DH5 payload size for default ERTM max PDU size
    Bluetooth: Fix incorrect setting of remote_tx_win for L2CAP ERTM
    Bluetooth: Change default L2CAP ERTM retransmit timeout
    Bluetooth: Fix endianness issue with L2CAP MPS configuration
    net: Use NET_XMIT_SUCCESS where possible.
    isdn: mISDN: call pci_disable_device() if pci_probe() failed
    isdn: avm: call pci_disable_device() if pci_probe() failed
    isdn: avm: call pci_disable_device() if pci_probe() failed
    usbnet: rx_submit() should return an error code.
    pkt_sched: Add some basic qdisc class ops verification. Was: [PATCH] sfq: add dummy bind/unbind handles
    pkt_sched: sch_sfq: Add dummy unbind_tcf and put handles. Was: [PATCH] sfq: add dummy bind/unbind handles
    ...

    Linus Torvalds
     

10 Aug, 2010

3 commits


07 Aug, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6:
    pcmcia: avoid buffer overflow in pcmcia_setup_isa_irq
    pcmcia: do not request windows if you don't need to
    pcmcia: insert PCMCIA device resources into resource tree
    pcmcia: export resource information to sysfs
    pcmcia: use struct resource for PCMCIA devices, part 2
    pcmcia: remove memreq_t
    pcmcia: move local definitions out of include/pcmcia/cs.h
    pcmcia: do not use io_req_t when calling pcmcia_request_io()
    pcmcia: do not use io_req_t after call to pcmcia_request_io()
    pcmcia: use struct resource for PCMCIA devices
    pcmcia: clean up cs.h
    pcmcia: use pcmica_{read,write}_config_byte
    pcmcia: remove cs_types.h
    pcmcia: remove unused flag, simplify headers
    pcmcia: remove obsolete CS_EVENT_ definitions
    pcmcia: split up central event handler
    pcmcia: simplify event callback
    pcmcia: remove obsolete ioctl

    Conflicts in:
    - drivers/staging/comedi/drivers/*
    - drivers/staging/wlags49_h2/wl_cs.c
    due to dev_info_t and whitespace changes

    Linus Torvalds
     

05 Aug, 2010

1 commit

  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     

03 Aug, 2010

2 commits

  • Instead of io_req_t, drivers are now requested to fill out
    struct pcmcia_device *p_dev->resource[0,1] for up to two ioport
    ranges. After a call to pcmcia_request_io(), the ports found there
    are reserved, after calling pcmcia_request_configuration(), they may
    be used.

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-ide@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    CC: laforge@gnumonks.org
    CC: linux-mtd@lists.infradead.org
    CC: alsa-devel@alsa-project.org
    CC: linux-serial@vger.kernel.org
    CC: Michael Buesch
    Acked-by: Marcel Holtmann (for drivers/bluetooth/)
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • After pcmcia_request_io(), do not make use of the values stored in
    io_req_t, but instead use those found in struct pcmcia_device->resource[].

    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-ide@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    CC: laforge@gnumonks.org
    CC: linux-mtd@lists.infradead.org
    CC: alsa-devel@alsa-project.org
    CC: linux-serial@vger.kernel.org
    Acked-by: Marcel Holtmann (for drivers/bluetooth/)
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

31 Jul, 2010

1 commit

  • Remove cs_types.h which is no longer needed: Most definitions aren't
    used at all, a few can be made away with, and two remaining definitions
    (typedefs, unfortunatley) may be moved to more specific places.

    CC: linux-ide@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    CC: laforge@gnumonks.org
    CC: linux-mtd@lists.infradead.org
    CC: alsa-devel@alsa-project.org
    CC: linux-serial@vger.kernel.org
    Acked-by: Marcel Holtmann (for drivers/bluetooth/)
    Acked-by: David S. Miller
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

16 Jul, 2010

4 commits


13 Jul, 2010

1 commit

  • All these files use the big kernel lock in a trivial
    way to serialize their private file operations,
    typically resulting from an earlier semi-automatic
    pushdown from VFS.

    None of these drivers appears to want to lock against
    other code, and they all use the BKL as the top-level
    lock in their file operations, meaning that there
    is no lock-order inversion problem.

    Consequently, we can remove the BKL completely,
    replacing it with a per-file mutex in every case.
    Using a scripted approach means we can avoid
    typos.

    file=$1
    name=$2
    if grep -q lock_kernel ${file} ; then
    if grep -q 'include.*linux.mutex.h' ${file} ; then
    sed -i '/include.*/d' ${file}
    else
    sed -i 's/include.*.*$/include /g' ${file}
    fi
    sed -i ${file} \
    -e "/^#include.*linux.mutex.h/,$ {
    1,/^\(static\|int\|long\)/ {
    /^\(static\|int\|long\)/istatic DEFINE_MUTEX(${name}_mutex);

    } }" \
    -e "s/\(un\)*lock_kernel\>[ ]*()/mutex_\1lock(\&${name}_mutex)/g" \
    -e '/[ ]*cycle_kernel_lock();/d'
    else
    sed -i -e '/include.*\/d' ${file} \
    -e '/cycle_kernel_lock()/d'
    fi

    Signed-off-by: Arnd Bergmann
    Cc: Karsten Keil
    Cc: netdev@vger.kernel.org
    Signed-off-by: David S. Miller

    Arnd Bergmann
     

12 Jul, 2010

1 commit


01 Jun, 2010

1 commit

  • The function inittiger is only called from nj_init_card, where a lock is held.

    The semantic patch that makes this change is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @gfp exists@
    identifier fn;
    position p;
    @@

    fn(...) {
    ... when != spin_unlock_irqrestore
    when any
    GFP_KERNEL@p
    ... when any
    }

    @locked@
    identifier gfp.fn;
    @@

    spin_lock_irqsave(...)
    ... when != spin_unlock_irqrestore
    fn(...)

    @depends on locked@
    position gfp.p;
    @@

    - GFP_KERNEL@p
    + GFP_ATOMIC
    //

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

    Julia Lawall
     

29 May, 2010

1 commit

  • Add a spin_unlock missing on the error path. The return value of write_reg
    seems to be completely ignored, so it seems that the lock should be
    released in every case.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression E1;
    @@

    * spin_lock(E1,...);

    * spin_unlock(E1,...);
    //

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

    Julia Lawall
     

21 May, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (44 commits)
    vlynq: make whole Kconfig-menu dependant on architecture
    add descriptive comment for TIF_MEMDIE task flag declaration.
    EEPROM: max6875: Header file cleanup
    EEPROM: 93cx6: Header file cleanup
    EEPROM: Header file cleanup
    agp: use NULL instead of 0 when pointer is needed
    rtc-v3020: make bitfield unsigned
    PCI: make bitfield unsigned
    jbd2: use NULL instead of 0 when pointer is needed
    cciss: fix shadows sparse warning
    doc: inode uses a mutex instead of a semaphore.
    uml: i386: Avoid redefinition of NR_syscalls
    fix "seperate" typos in comments
    cocbalt_lcdfb: correct sections
    doc: Change urls for sparse
    Powerpc: wii: Fix typo in comment
    i2o: cleanup some exit paths
    Documentation/: it's -> its where appropriate
    UML: Fix compiler warning due to missing task_struct declaration
    UML: add kernel.h include to signal.c
    ...

    Linus Torvalds
     

10 May, 2010

3 commits

  • Implicit slab.h inclusion via percpu.h is about to go away. Make sure
    gfp.h or slab.h is included as necessary.

    Signed-off-by: Tejun Heo
    Cc: Stephen Rothwell
    Signed-off-by: Dominik Brodowski

    Tejun Heo
     
  • As a second step, remove any usage of dev_node_t from drivers which
    only wrote to this typedef/struct, except one printk() which can
    easily be replaced by a dev_info()/dev_warn() call.

    CC: Harald Welte
    CC: linux-ide@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: netdev@vger.kernel.org
    CC: linux-usb@vger.kernel.org
    Acked-by: Karsten Keil
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     
  • Instead of the old pcmcia_request_irq() interface, drivers may now
    choose between:

    - calling request_irq/free_irq directly. Use the IRQ from *p_dev->irq.

    - use pcmcia_request_irq(p_dev, handler_t); the PCMCIA core will
    clean up automatically on calls to pcmcia_disable_device() or
    device ejection.

    - drivers still not capable of IRQF_SHARED (or not telling us so) may
    use the deprecated pcmcia_request_exclusive_irq() for the time
    being; they might receive a shared IRQ nonetheless.

    CC: linux-bluetooth@vger.kernel.org
    CC: netdev@vger.kernel.org
    CC: linux-wireless@vger.kernel.org
    CC: linux-serial@vger.kernel.org
    CC: alsa-devel@alsa-project.org
    CC: linux-usb@vger.kernel.org
    CC: linux-ide@vger.kernel.org
    Signed-off-by: Dominik Brodowski

    Dominik Brodowski
     

23 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
     

29 Mar, 2010

1 commit


16 Mar, 2010

4 commits

  • A few subdevice IDs seem to have been dropped when hfc_multi was
    included upstream, just compare the list at
    http://www.openvox.cn/viewvc/misdn/trunk/hfc_multi.c?revision=75&view=annotate#l175
    with the IDs in drivers/isdn/hardware/mISDN/hfcmulti.c

    Added PCIe 2 Port card and LED settings (same as PCI)
    Do not use /KKe

    Signed-off-by: Lars Ellenberg
    Signed-off-by: Karsten Keil
    Signed-off-by: David S. Miller

    Lars Ellenberg
     
  • David S. Miller
     
  • Replace references to the '20' magic number found throughout the Eicon
    ISDN driver for the length of the station_id field in the T30_INFO struct
    with the T30_MAX_STATION_ID_LENGTH symbolic constant.

    Signed-off-by: Ian Munsie
    Cc: Armin Schindler
    Cc: Karsten Keil
    Cc: Stoyan Gaydarov
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Ian Munsie
     
  • When compiling this driver, the compiler throws the following warnings:

    drivers/isdn/hardware/eicon/message.c:8426: warning: array subscript is above array bounds
    drivers/isdn/hardware/eicon/message.c:8427: warning: array subscript is above array bounds
    drivers/isdn/hardware/eicon/message.c:8434: warning: array subscript is above array bounds
    drivers/isdn/hardware/eicon/message.c:8435: warning: array subscript is above array bounds
    drivers/isdn/hardware/eicon/message.c:8436: warning: array subscript is above array bounds
    drivers/isdn/hardware/eicon/message.c:8447: warning: array subscript is above array bounds

    This arises from the particular semantics the driver is using to write to
    the nlc array (static byte[256]). The array has a length in byte 0
    followed by a T30_INFO struct starting at byte 1.

    The T30_INFO struct has a number of variable length strings after the
    station_id entry, which cannot be explicitly defined in the struct and the
    driver accesses them with an array index to station_id beyond the length
    of station_id.

    This patch merely changes the semantics that the driver uses to access the
    entries after the station_id entry to use the original 256 byte nlc array
    taking the offset and length of the station_id entry to calculate where to
    write in the array, thereby silencing the warning.

    Signed-off-by: Ian Munsie
    Cc: Armin Schindler
    Cc: Karsten Keil
    Cc: Stoyan Gaydarov
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Ian Munsie
     

08 Mar, 2010

1 commit


05 Feb, 2010

1 commit


04 Feb, 2010

3 commits

  • The error return should be negative. Its only caller that acts upon its
    return, handle_bmsg(), transmits the positive error but can also return
    negative errors.

    Signed-off-by: Roel Kluin
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Roel Kluin
     
  • Remove these compiler warnings:

    drivers/isdn/hardware/mISDN/w6692.c:534: warning: `setvolume' defined but not used
    drivers/isdn/hardware/mISDN/w6692.c:561: warning: `enable_pots' defined but not used

    by moving the functions inside #if 0 ... #endif. And an alternative is
    to remove them completely if nobody has plans to use them.

    Signed-off-by: Jiri Slaby
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Jiri Slaby
     
  • If setup_instance() fails we kfree() the card, and then use it in the next
    loop iteration. So lets bail out of the loop instead.

    Coverity CID: 13357

    Signed-off-by: Darren Jenkins
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: David S. Miller

    Darren Jenkins
     

14 Jan, 2010

1 commit

  • Convert code away from ->read_proc/->write_proc interfaces. Switch to
    proc_create()/proc_create_data() which make addition of proc entries
    reliable wrt NULL ->proc_fops, NULL ->data and so on.

    Problem with ->read_proc et al is described here commit
    786d7e1612f0b0adb6046f19b906609e4fe8b1ba "Fix rmmod/read/write races in
    /proc entries"

    [akpm@linux-foundation.org: CONFIG_PROC_FS=n build fix]
    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Tilman Schmidt
    Signed-off-by: Karsten Keil
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     

13 Jan, 2010

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (56 commits)
    sky2: Fix oops in sky2_xmit_frame() after TX timeout
    Documentation/3c509: document ethtool support
    af_packet: Don't use skb after dev_queue_xmit()
    vxge: use pci_dma_mapping_error to test return value
    netfilter: ebtables: enforce CAP_NET_ADMIN
    e1000e: fix and commonize code for setting the receive address registers
    e1000e: e1000e_enable_tx_pkt_filtering() returns wrong value
    e1000e: perform 10/100 adaptive IFS only on parts that support it
    e1000e: don't accumulate PHY statistics on PHY read failure
    e1000e: call pci_save_state() after pci_restore_state()
    netxen: update version to 4.0.72
    netxen: fix set mac addr
    netxen: fix smatch warning
    netxen: fix tx ring memory leak
    tcp: update the netstamp_needed counter when cloning sockets
    TI DaVinci EMAC: Handle emac module clock correctly.
    dmfe/tulip: Let dmfe handle DM910x except for SPARC on-board chips
    ixgbe: Fix compiler warning about variable being used uninitialized
    netfilter: nf_ct_ftp: fix out of bounds read in update_nl_seq()
    mv643xx_eth: don't include cache padding in rx desc buffer size
    ...

    Fix trivial conflict in drivers/scsi/cxgb3i/cxgb3i_offload.c

    Linus Torvalds
     

11 Jan, 2010

1 commit


04 Jan, 2010

1 commit

  • The code checked slot_rx twice. Check slot_tx by analogy with the bank
    case.

    The semantic match that finds this problem is as follows:
    (http://coccinelle.lip6.fr/)

    //
    @@
    expression E;
    @@

    (
    *E && E
    |
    *E || E
    )
    //

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

    Julia Lawall
     

15 Dec, 2009

1 commit