15 Sep, 2009

14 commits

  • pcnet_cs,serial_cs:

    add cis of Linksys lan&modem mulitifunction pcmcia card
    and some modem card(MT5634ZLX, RS-COM-2P).

    Signed-off-by: Ken Kawasaki
    Signed-off-by: David S. Miller

    Ken Kawasaki
     
  • This patch fixes commit e36b9d16c6a6d0f59803b3ef04ff3c22c3844c10. The approach
    there is to call dev_close()/dev_open() whenever the device type is changed in
    order to remap the device IP multicast addresses to HW multicast addresses.
    This approach suffers from 2 drawbacks:

    *. It assumes tha the device is UP when calling dev_close(), or otherwise
    dev_close() has no affect. It is worth to mention that initscripts (Redhat)
    and sysconfig (Suse) doesn't act the same in this matter.
    *. dev_close() has other side affects, like deleting entries from the routing
    table, which might be unnecessary.

    The fix here is to directly remap the IP multicast addresses to HW multicast
    addresses for a bonding device that changes its type, and nothing else.

    Reported-by: Jason Gunthorpe
    Signed-off-by: Moni Shoua
    Signed-off-by: David S. Miller

    Moni Shoua
     
  • When using nanosleep() in an userspace application we get a ratelimit warning

    NOHZ: local_softirq_pending 08

    for 10 times.

    The echo of CAN frames is done from process context and softirq context only.
    Therefore the usage of netif_rx() was wrong (for years).

    This patch replaces netif_rx() with netif_rx_ni() which has to be used from
    process/softirq context. It also adds a missing comment that can_send() must
    no be used from hardirq context.

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

    Oliver Hartkopp
     
  • In the case of fiber and serdes adapters we were seeing issues with ethtool
    -t causing kernel panics due to null function pointers. To prevent this we
    need to exit out of the phy reset code in the event that we do not have a
    valid phy.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Don Skidmore
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • Our SGMII phy code was incomplete in that it was not actually placing the
    phy in SGMII mode and as a result the PHY was not able to establish a link
    when connected to a non serdes link partner. This patch updates the code
    to combine the SGMII/serdes PCS init and to add the necessary reset.

    Signed-off-by: Alexander Duyck
    Signed-off-by: Don Skidmore
    Signed-off-by: David S. Miller

    Alexander Duyck
     
  • Currently the media type detection for CX4 adapters lumps them into a
    type of fiber. This causes some strange fallout when firmware verification
    is done on the NIC, and certain fiber NIC rules get enforced incorrectly.

    This patch introduces a new media type for CX4, and puts both 82598 and
    82599 CX4 adapters into this bucket.

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

    Peter P Waskiewicz Jr
     
  • This patch adds support for CX4 adapters based on 82599.

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

    Peter P Waskiewicz Jr
     
  • The packet split feature was recently moved out of the adapter-wide flags
    feature field and into a per-Rx ring feature field. In the process, packet
    split isn't properly disabled in the Rx ring if the adapter has it globally
    disabled, followed by a device reset.

    This won't impact the driver today, since it's always in packet split mode.
    However, this will prevent any pitfalls if someone disables packet split on
    the adapter in the future and doesn't disable it in each ring.

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

    Peter P Waskiewicz Jr
     
  • From: Rémi Denis-Courmont

    Signed-off-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Rémi Denis-Courmont
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • Now that all Blackfin boards are using the board resources, we don't need
    to keep the arch/board specific crap in the driver header.

    Signed-off-by: Michael Hennerich
    Signed-off-by: Mike Frysinger
    Signed-off-by: David S. Miller

    Michael Hennerich
     
  • * 'osync_cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6:
    fsync: wait for data writeout completion before calling ->fsync
    vfs: Remove generic_osync_inode() and sync_page_range{_nolock}()
    fat: Opencode sync_page_range_nolock()
    pohmelfs: Use new syncing helper
    xfs: Convert sync_page_range() to simple filemap_write_and_wait_range()
    ocfs2: Update syncing after splicing to match generic version
    ntfs: Use new syncing helpers and update comments
    ext4: Remove syncing logic from ext4_file_write
    ext3: Remove syncing logic from ext3_file_write
    ext2: Update comment about generic_osync_inode
    vfs: Introduce new helpers for syncing after writing to O_SYNC file or IS_SYNC inode
    vfs: Rename generic_file_aio_write_nolock
    ocfs2: Use __generic_file_aio_write instead of generic_file_aio_write_nolock
    pohmelfs: Use __generic_file_aio_write instead of generic_file_aio_write_nolock
    vfs: Remove syncing from generic_file_direct_write() and generic_file_buffered_write()
    vfs: Export __generic_file_aio_write() and add some comments
    vfs: Introduce filemap_fdatawait_range

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1623 commits)
    netxen: update copyright
    netxen: fix tx timeout recovery
    netxen: fix file firmware leak
    netxen: improve pci memory access
    netxen: change firmware write size
    tg3: Fix return ring size breakage
    netxen: build fix for INET=n
    cdc-phonet: autoconfigure Phonet address
    Phonet: back-end for autoconfigured addresses
    Phonet: fix netlink address dump error handling
    ipv6: Add IFA_F_DADFAILED flag
    net: Add DEVTYPE support for Ethernet based devices
    mv643xx_eth.c: remove unused txq_set_wrr()
    ucc_geth: Fix hangs after switching from full to half duplex
    ucc_geth: Rearrange some code to avoid forward declarations
    phy/marvell: Make non-aneg speed/duplex forcing work for 88E1111 PHYs
    drivers/net/phy: introduce missing kfree
    drivers/net/wan: introduce missing kfree
    net: force bridge module(s) to be GPL
    Subject: [PATCH] appletalk: Fix skb leak when ipddp interface is not loaded
    ...

    Fixed up trivial conflicts:

    - arch/x86/include/asm/socket.h

    converted to in the x86 tree. The generic
    header has the same new #define's, so that works out fine.

    - drivers/net/tun.c

    fix conflict between 89f56d1e9 ("tun: reuse struct sock fields") that
    switched over to using 'tun->socket.sk' instead of the redundantly
    available (and thus removed) 'tun->sk', and 2b980dbd ("lsm: Add hooks
    to the TUN driver") which added a new 'tun->sk' use.

    Noted in 'next' by Stephen Rothwell.

    Linus Torvalds
     
  • * 'x86-xen-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: split __phys_addr out into separate file
    xen: use stronger barrier after unlocking lock
    xen: only enable interrupts while actually blocking for spinlock
    xen: make -fstack-protector work under Xen

    Linus Torvalds
     

14 Sep, 2009

4 commits


12 Sep, 2009

22 commits

  • o Add QLogic copyright, add linux-driver@qlogic.com to
    MAINTAINERS.
    o Delete old contact information.

    Signed-off-by: Dhananjay Phadke
    Signed-off-by: David S. Miller

    Dhananjay Phadke
     
  • Redesign tx timeout handling in line with new firmware
    reset design that co-ordinates with other PCI function
    drivers.

    o For NX3031, first try to reset PCI function's own
    context before requesting firmware reset.

    o For NX2031, since firmware heartbit is not supported
    directly request firmware reset.

    Signed-off-by: Amit Kumar Salecha
    Signed-off-by: Dhananjay Phadke
    Signed-off-by: David S. Miller

    Amit Kumar Salecha
     
  • Release file firmware when no firmware reset is required.

    Signed-off-by: Dhananjay Phadke
    Signed-off-by: David S. Miller

    Dhananjay Phadke
     
  • o Access on card memory through memory controller (agent)
    rather than moving small pci window around. Clean up the
    code for moving windows around.

    o Restrict memory accesss to 64 bit, currently only firmware
    download uses this.

    Signed-off-by: Dhananjay Phadke
    Signed-off-by: David S. Miller

    Dhananjay Phadke
     
  • Use 8 byte strides for firmware download into card
    memory since oncard memory controller needs 8 byte
    (64 bit) accesses. This avoids unnecessary rmw cycles.

    Signed-off-by: Amit Kumar Salecha
    Signed-off-by: Dhananjay Phadke
    Signed-off-by: David S. Miller

    Amit Kumar Salecha
     
  • Commit f6eb9b1fc1411d22c073f5264e5630a541d0f7df, "tg3: Add 5717 asic
    rev" changed how the rx return ring size operations are done. It
    effectively inverts the sense of the previous test, but it failed to
    also invert the resulting sizes. This patch corrects that error.

    Signed-off-by: Matt Carlson
    Signed-off-by: David S. Miller

    Matt Carlson
     
  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev: (25 commits)
    pata_rz1000: use printk_once
    ahci: kill @force_restart and refine CLO for ahci_kick_engine()
    pata_cs5535: add pci id for AMD based CS5535 controllers
    ahci: Add AMD SB900 SATA/IDE controller device IDs
    drivers/ata: use resource_size
    sata_fsl: Defer non-ncq commands when ncq commands active
    libata: add SATA PMP revision information for spec 1.2
    libata: fix off-by-one error in ata_tf_read_block()
    ahci: Gigabyte GA-MA69VM-S2 can't do 64bit DMA
    ahci: make ahci_asus_m2a_vm_32bit_only() quirk more generic
    dmi: extend dmi_get_year() to dmi_get_date()
    dmi: fix date handling in dmi_get_year()
    libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru()
    sata_sis: convert to slave_link
    sata_sil24: always set protocol override for non-ATAPI data commands
    libata: Export AHCI capabilities
    libata: Delegate nonrot flag setting to SCSI
    [libata] Add pata_rdc driver for RDC ATA devices
    drivers/ata: Remove unnecessary semicolons
    libata: remove spindown skipping and warning
    ...

    Linus Torvalds
     
  • When CONFIG_INET is disabled, netxen has a build failure:

    netxen_nic_main.c:(.text+0x118fd1): undefined reference to `netxen_config_indev_addr'

    so make that function just an empty stub when CONFIG_INET=n.
    (not "inline" since that conflicts with other declarations of it)

    Signed-off-by: Randy Dunlap
    Acked-by: Dhananjay Phadke
    Signed-off-by: David S. Miller

    Randy Dunlap
     
  • * 'oprofile-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (55 commits)
    arch/x86/oprofile/op_model_amd.c: fix op_amd_handle_ibs() return type
    Revert "x86: oprofile/op_model_amd.c set return values for op_amd_handle_ibs()"
    x86/oprofile: Small coding style fixes
    x86/oprofile: Add counter reservation check for virtual counters
    x86/oprofile: Implement op_x86_virt_to_phys()
    oprofile: Adding switch counter to oprofile statistic variables
    x86/oprofile: Implement mux_clone()
    x86/oprofile: Enable multiplexing only if the model supports it
    x86/oprofile: Add function has_mux() to check multiplexing support
    x86/oprofile: Modify initialization of num_virt_counters
    x86/oprofile: Remove unused num_virt_controls from struct op_x86_model_spec
    x86/oprofile: Remove const qualifier from struct op_x86_model_spec
    x86/oprofile: Moving nmi_cpu_switch() in nmi_int.c
    x86/oprofile: Moving nmi_cpu_save/restore_mpx_registers() in nmi_int.c
    x86/oprofile: Moving nmi_setup_cpu_mux() in nmi_int.c
    x86/oprofile: Implement multiplexing setup/shutdown functions
    oprofile: Grouping multiplexing code in op_model_amd.c
    oprofile: Introduce op_x86_phys_to_virt()
    oprofile: Grouping multiplexing code in oprof.c
    oprofile: Remove oprofile_multiplexing_init()
    ...

    Linus Torvalds
     
  • * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    pci/intr_remapping: Allocate irq_iommu on node
    irq: Add irq_node() primitive
    irq: Make sure irq_desc for legacy irq get correct node setting
    genirq: Add prototype for handle_nested_irq()
    irq: Remove superfluous NULL pointer check in check_irq_resend()
    irq: Clean up by removing irqfixup MODULE_PARM_DESC()
    genirq: Fix comment describing suspend_device_irqs()
    genirq: Remove obsolete defines and typedefs

    Linus Torvalds
     
  • …/git/tip/linux-2.6-tip

    * 'core-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    debug lockups: Improve lockup detection, fix generic arch fallback
    debug lockups: Improve lockup detection

    Linus Torvalds
     
  • Signed-off-by: Rémi Denis-Courmont
    Signed-off-by: David S. Miller

    Rémi Denis-Courmont
     
  • The Ethernet framing is used for a lot of devices these days. Most
    prominent are WiFi and WiMAX based devices. However for userspace
    application it is important to classify these devices correctly and
    not only see them as Ethernet devices. The daemons like HAL, DeviceKit
    or even NetworkManager with udev support tries to do the classification
    in userspace with a lot trickery and extra system calls. This is not
    good and actually reaches its limitations. Especially since the kernel
    does know the type of the Ethernet device it is pretty stupid.

    To solve this problem the underlying device type needs to be set and
    then the value will be exported as DEVTYPE via uevents and available
    within udev.

    # cat /sys/class/net/wlan0/uevent
    DEVTYPE=wlan
    INTERFACE=wlan0
    IFINDEX=5

    This is similar to subsystems like USB and SCSI that distinguish
    between hosts, devices, disks, partitions etc.

    The new SET_NETDEV_DEVTYPE() is a convenience helper to set the actual
    device type. All device types are free form, but for convenience the
    same strings as used with RFKILL are choosen.

    Signed-off-by: Marcel Holtmann
    Signed-off-by: David S. Miller

    Marcel Holtmann
     
  • The txq_set_wrr() function in drivers/net/mv643xx_eth.c is
    unused, not even referenced under #if 0 or something like that,
    which results in a compile-time warning:

    drivers/net/mv643xx_eth.c:1070: warning: 'txq_set_wrr' defined but not used

    Fix: remove it.

    Signed-off-by: Mikael Pettersson
    Signed-off-by: David S. Miller

    Mikael Pettersson
     
  • MPC8360 QE UCC ethernet controllers hang when changing link duplex
    under a load (a bit of NFS activity is enough).

    PHY: mdio@e0102120:00 - Link is Up - 1000/Full
    sh-3.00# ethtool -s eth0 speed 100 duplex half autoneg off
    PHY: mdio@e0102120:00 - Link is Down
    PHY: mdio@e0102120:00 - Link is Up - 100/Half
    NETDEV WATCHDOG: eth0 (ucc_geth): transmit queue 0 timed out
    ------------[ cut here ]------------
    Badness at c01fcbd0 [verbose debug info unavailable]
    NIP: c01fcbd0 LR: c01fcbd0 CTR: c0194e44
    ...

    The cure is to disable the controller before changing speed/duplex
    and enable it afterwards.

    Though, disabling the controller might take quite a while, so we
    better not grab any spinlocks in adjust_link(). Instead, we quiesce
    the driver's activity, and only then disable the controller.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • We'll need ugeth_disable() and ugeth_enable() calls earlier in the
    file, so rearrange some code to avoid forward declarations.

    The patch doesn't contain any functional changes.

    Signed-off-by: Anton Vorontsov
    Acked-by: Timur Tabi
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • According to specs, when auto-negotiation is disabled, Marvell PHYs need
    a software reset after changing speed/duplex forcing bits. Otherwise,
    the modified bits have no effect.

    Signed-off-by: Anton Vorontsov
    Signed-off-by: David S. Miller

    Anton Vorontsov
     
  • Error handling code following a kzalloc should free the allocated data.

    The semantic match that finds the problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @r exists@
    local idexpression x;
    statement S;
    expression E;
    identifier f,f1,l;
    position p1,p2;
    expression *ptr != NULL;
    @@

    x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ...
    if (x == NULL) S
    }
    (
    x->f1 = E
    |
    (x->f1 == NULL || ...)
    |
    f(...,x->f1,...)
    )
    ...>
    (
    return \(0\|\|ptr\);
    |
    return@p2 ...;
    )

    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@

    print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
    //

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

    Julia Lawall
     
  • Error handling code following a kmalloc should free the allocated data.

    The semantic match that finds the problem is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @r exists@
    local idexpression x;
    statement S;
    expression E;
    identifier f,f1,l;
    position p1,p2;
    expression *ptr != NULL;
    @@

    x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
    ...
    if (x == NULL) S
    }
    (
    x->f1 = E
    |
    (x->f1 == NULL || ...)
    |
    f(...,x->f1,...)
    )
    ...>
    (
    return \(0\|\|ptr\);
    |
    return@p2 ...;
    )

    @script:python@
    p1 << r.p1;
    p2 << r.p2;
    @@

    print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
    //

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

    Julia Lawall
     
  • And also do a better job of returning proper NET_{RX,XMIT}_ values.

    Based on a patch and suggestions by Mark Smith.

    This fixes CVE-2009-2903

    Reported-by: Mark Smith
    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: David S. Miller

    Arnaldo Carvalho de Melo
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (102 commits)
    crypto: sha-s390 - Fix warnings in import function
    crypto: vmac - New hash algorithm for intel_txt support
    crypto: api - Do not displace newly registered algorithms
    crypto: ansi_cprng - Fix module initialization
    crypto: xcbc - Fix alignment calculation of xcbc_tfm_ctx
    crypto: fips - Depend on ansi_cprng
    crypto: blkcipher - Do not use eseqiv on stream ciphers
    crypto: ctr - Use chainiv on raw counter mode
    Revert crypto: fips - Select CPRNG
    crypto: rng - Fix typo
    crypto: talitos - add support for 36 bit addressing
    crypto: talitos - align locks on cache lines
    crypto: talitos - simplify hmac data size calculation
    crypto: mv_cesa - Add support for Orion5X crypto engine
    crypto: cryptd - Add support to access underlaying shash
    crypto: gcm - Use GHASH digest algorithm
    crypto: ghash - Add GHASH digest algorithm for GCM
    crypto: authenc - Convert to ahash
    crypto: api - Fix aligned ctx helper
    crypto: hmac - Prehash ipad/opad
    ...

    Linus Torvalds
     
  • * 'writeback' of git://git.kernel.dk/linux-2.6-block:
    writeback: check for registered bdi in flusher add and inode dirty
    writeback: add name to backing_dev_info
    writeback: add some debug inode list counters to bdi stats
    writeback: get rid of pdflush completely
    writeback: switch to per-bdi threads for flushing data
    writeback: move dirty inodes from super_block to backing_dev_info
    writeback: get rid of generic_sync_sb_inodes() export

    Linus Torvalds