21 Jun, 2006

3 commits

  • There has been an update to the forcedeth driver that added a few new
    uses of xmit_lock which is no longer meant to be used directly. This
    patch replaces them with netif_tx_lock_bh.

    Signed-off-by: Herbert Xu
    Signed-off-by: Linus Torvalds

    Herbert Xu
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Update defconfig.
    [SPARC64]: Don't double-export synchronize_irq.
    [SPARC64]: Move over to GENERIC_HARDIRQS.
    [SPARC64]: Virtualize IRQ numbers.
    [SPARC64]: Kill ino_bucket->pil
    [SPARC]: Kill __irq_itoa().
    [SPARC64]: bp->pil can never be zero
    [SPARC64]: Send all device interrupts via one PIL.
    [SPARC]: Fix iommu_flush_iotlb end address
    [SPARC]: Mark smp init functions as cpuinit
    [SPARC]: Add missing rw can_lock macros
    [SPARC]: Setup cpu_possible_map
    [SPARC]: Add topology_init()

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm: (22 commits)
    [ARM] 3559/1: S3C2442: core and serial port
    [ARM] 3557/1: S3C24XX: centralise and cleanup uart registration
    [ARM] 3558/1: SMDK24XX: LED platform devices
    [ARM] 3534/1: add spi support to lubbock platform
    [ARM] 3554/1: ARM: Fix dyntick locking
    [ARM] 3553/1: S3C24XX: earlier print of cpu idcode info
    [ARM] 3552/1: S3C24XX: Move VA of GPIO for low-level debug
    [ARM] 3551/1: S3C24XX: PM code failes to compile with CONFIG_DCACHE_WRITETHROUGH
    [ARM] 3550/1: OSIRIS: fix serial port map for 1:1
    [ARM] 3548/1: Fix the ARMv6 CPU id in compressed/head.S
    [ARM] 3335/1: Old-abi Thumb sys_syscall broken
    [ARM] 3467/1: [3/3] Support for Philips PNX4008 platform: defconfig
    [ARM] 3466/1: [2/3] Support for Philips PNX4008 platform: chip support
    [ARM] 3465/1: [1/3] Support for Philips PNX4008 platform: headers
    [ARM] 3407/1: lpd7x: documetation update
    [ARM] 3406/1: lpd7x: compilation fix for smc91x
    [ARM] 3405/1: lpd7a40x: CPLD ssp driver
    [ARM] 3404/1: lpd7a40x: AMBA CLCD support
    [ARM] 3403/1: lpd7a40x: updated default configurations
    [ARM] 3402/1: lpd7a40x: serial driver bug fix
    ...

    Linus Torvalds
     

20 Jun, 2006

4 commits

  • This ugly hack was long overdue to die.

    It was a way to print out Sparc interrupts in a more freindly format,
    since IRQ numbers were arbitrary opaque 32-bit integers which vectored
    into PIL levels. These 32-bit integers were not necessarily in the
    0-->NR_IRQS range, but the PILs they vectored to were.

    The idea now is that we will increase NR_IRQS a little bit and use a
    virtualreal IRQ number mapping scheme similar to PowerPC.

    That makes this IRQ printing hack irrelevant, and furthermore only a
    handful of drivers actually used __irq_itoa() making it even less
    useful.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • * 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (51 commits)
    [MIPS] Make timer interrupt frequency configurable from kconfig.
    [MIPS] Correct HAL2 Kconfig description
    [MIPS] Fix R4K cache macro names
    [MIPS] Add Missing R4K Cache Macros to IP27 & IP32
    [MIPS] Support for the RM9000-based Basler eXcite smart camera platform.
    [MIPS] Support for the R5500-based NEC EMMA2RH Mark-eins board
    [MIPS] Support SNI RM200C SNI in big endian mode and R5000 processors.
    [MIPS] SN: include asm/sn/types.h for nasid_t.
    [MIPS] Random fixes for sb1250
    [MIPS] Fix bcm1480 compile
    [MIPS] Remove support for NEC DDB5476.
    [MIPS] Remove support for NEC DDB5074.
    [MIPS] Cleanup memory managment initialization.
    [MIPS] SN: Declare bridge_pci_ops.
    [MIPS] Remove unused function alloc_pci_controller.
    [MIPS] IP27: Extract pci_ops into separate file.
    [MIPS] IP27: Use symbolic constants instead of magic numbers.
    [MIPS] vr41xx: remove unnecessay items from vr41xx/Kconfig.
    [MIPS] IP27: Cleanup N/M mode configuration.
    [MIPS] IP27: Throw away old unused hacks.
    ...

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (109 commits)
    [ETHTOOL]: Fix UFO typo
    [SCTP]: Fix persistent slowdown in sctp when a gap ack consumes rx buffer.
    [SCTP]: Send only 1 window update SACK per message.
    [SCTP]: Don't do CRC32C checksum over loopback.
    [SCTP] Reset rtt_in_progress for the chunk when processing its sack.
    [SCTP]: Reject sctp packets with broadcast addresses.
    [SCTP]: Limit association max_retrans setting in setsockopt.
    [PFKEYV2]: Fix inconsistent typing in struct sadb_x_kmprivate.
    [IPV6]: Sum real space for RTAs.
    [IRDA]: Use put_unaligned() in irlmp_do_discovery().
    [BRIDGE]: Add support for NETIF_F_HW_CSUM devices
    [NET]: Add NETIF_F_GEN_CSUM and NETIF_F_ALL_CSUM
    [TG3]: Convert to non-LLTX
    [TG3]: Remove unnecessary tx_lock
    [TCP]: Add tcp_slow_start_after_idle sysctl.
    [BNX2]: Update version and reldate
    [BNX2]: Use CPU native page size
    [BNX2]: Use compressed firmware
    [BNX2]: Add firmware decompression
    [BNX2]: Allow WoL settings on new 5708 chips
    ...

    Manual fixup for conflict in drivers/net/tulip/winbond-840.c

    Linus Torvalds
     
  • As warned several times before.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

18 Jun, 2006

23 commits

  • Patch from Marc Singer

    Reworking of the adaptation macros to allow driver to compile again
    for the lpd7x's. Also, support added for the lh79520 so it may use
    the smc91x.

    Signed-off-by: Marc Singer
    Signed-off-by: Russell King

    Marc Singer
     
  • Jeff Garzik
     
  • The current stack treats NETIF_F_HW_CSUM and NETIF_F_NO_CSUM
    identically so we test for them in quite a few places. For the sake
    of brevity, I'm adding the macro NETIF_F_GEN_CSUM for these two. We
    also test the disjunct of NETIF_F_IP_CSUM and the other two in various
    places, for that purpose I've added NETIF_F_ALL_CSUM.

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

    Herbert Xu
     
  • Herbert Xu pointed out that it is unsafe to call netif_tx_disable()
    from LLTX drivers because it uses dev->xmit_lock to synchronize
    whereas LLTX drivers use private locks.

    Convert tg3 to non-LLTX to fix this issue. tg3 is a lockless driver
    where hard_start_xmit and tx completion handling can run concurrently
    under normal conditions. A tx_lock is only needed to prevent
    netif_stop_queue and netif_wake_queue race condtions when the queue
    is full.

    So whether we use LLTX or non-LLTX, it makes practically no
    difference.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Remove tx_lock where it is unnecessary. tg3 runs lockless and so it
    requires interrupts to be disabled and sync'ed, netif_queue and NAPI
    poll to be stopped before the device can be reconfigured. After
    stopping everything, it is no longer necessary to get the tx_lock.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Update driver version to 1.4.42.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Use CPU native page size to determine various ring sizes. This allows
    order-0 memory allocations on all systems.

    Added check to limit the page size to 16K since that's the maximum rx
    ring size that will be used. This will prevent using unnecessarily
    large page sizes on some architectures with large page sizes.
    [Suggested by David Miller]

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Change bnx2_fw.h to use compressed text for all CPU images.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Add functions to decompress firmware before loading to the internal
    CPUs. Compressing the firmware reduces the driver size significantly.

    Added file name length sanity check in the gzip header to prevent
    going past the end of buffer [suggested by DaveM].

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Allow WOL settings on 5708 B2 and newer chips that have the problem
    fixed.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Add a counter for packets dropped by firmware.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Signed-off-by: Alexey Dobriyan
    Signed-off-by: David S. Miller

    Alexey Dobriyan
     
  • This cleans the STIR421x part of the irda-usb code. We also no longer
    try to load all existing firmwares but only the matching one
    (according to the USB id we get from the dongle).

    Signed-off-by: Nick Fedchik
    Signed-off-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Nick Fedchik
     
  • In ppp_receive_nonmp_frame, we call pskb_may_pull(skb, skb->len) if the
    tailroom is >= 124. This is pointless because this pskb_may_pull is only
    needed if the skb is non-linear. However, if it is non-linear then the
    tailroom would be zero.

    So it can be safely removed.

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

    Herbert Xu
     
  • The linearisation operation doesn't need to be super-optimised. So we can
    replace __skb_linearize with __pskb_pull_tail which does the same thing but
    is more general.

    Also, most users of skb_linearize end up testing whether the skb is linear
    or not so it helps to make skb_linearize do just that.

    Some callers of skb_linearize also use it to copy cloned data, so it's
    useful to have a new function skb_linearize_cow to copy the data if it's
    either non-linear or cloned.

    Last but not least, I've removed the gfp argument since nobody uses it
    anymore. If it's ever needed we can easily add it back.

    Misc bugs fixed by this patch:

    * via-velocity error handling (also, no SG => no frags)

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

    Herbert Xu
     
  • Various drivers use xmit_lock internally to synchronise with their
    transmission routines. They do so without setting xmit_lock_owner.
    This is fine as long as netpoll is not in use.

    With netpoll it is possible for deadlocks to occur if xmit_lock_owner
    isn't set. This is because if a printk occurs while xmit_lock is held
    and xmit_lock_owner is not set can cause netpoll to attempt to take
    xmit_lock recursively.

    While it is possible to resolve this by getting netpoll to use
    trylock, it is suboptimal because netpoll's sole objective is to
    maximise the chance of getting the printk out on the wire. So
    delaying or dropping the message is to be avoided as much as possible.

    So the only alternative is to always set xmit_lock_owner. The
    following patch does this by introducing the netif_tx_lock family of
    functions that take care of setting/unsetting xmit_lock_owner.

    I renamed xmit_lock to _xmit_lock to indicate that it should not be
    used directly. I didn't provide irq versions of the netif_tx_lock
    functions since xmit_lock is meant to be a BH-disabling lock.

    This is pretty much a straight text substitution except for a small
    bug fix in winbond. It currently uses
    netif_stop_queue/spin_unlock_wait to stop transmission. This is
    unsafe as an IRQ can potentially wake up the queue. So it is safer to
    use netif_tx_disable.

    The hamradio bits used spin_lock_irq but it is unnecessary as
    xmit_lock must never be taken in an IRQ handler.

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

    Herbert Xu
     
  • Update version to 3.60.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Add recovery logic when we suspect that the system is re-ordering
    MMIOs. Re-ordered MMIOs to the send mailbox can cause bogus tx
    completions and hit BUG_ON() in the tx completion path.

    tg3 already has logic to handle re-ordered MMIOs by flushing the MMIOs
    that must be strictly ordered (such as the send mailbox). Determining
    when to enable the flush is currently a manual process of adding known
    chipsets to a list.

    The new code replaces the BUG_ON() in the tx completion path with the
    call to tg3_tx_recover(). It will set the TG3_FLAG_MBOX_WRITE_REORDER
    flag and reset the chip later in the workqueue to recover and start
    flushing MMIOs to the mailbox.

    A message to report the problem will be printed. We will then decide
    whether or not to add the host bridge to the list of chipsets that do
    re-ordering.

    We may add some additional code later to print the host bridge's ID so
    that the user can report it more easily.

    The assumption that re-ordering can only happen on x86 systems is also
    removed.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • Add PCI ID for BCM5786 which is a variant of 5787.

    Signed-off-by: Michael Chan
    Signed-off-by: David S. Miller

    Michael Chan
     
  • This patch gets rid of the old power management code and now uses the
    device model for the ali-ircc driver.

    Signed-off-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Samuel Ortiz
     
  • stir4200 uses a kernel thread for its TX/RX operations, and it is now
    converted to the kernel kthread API.
    Tested on an STIR4200 based dongle.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Christoph Hellwig
     
  • The MosChip MCS7780 chipset is an IrDA USB bridge that
    doesn't conform with the IrDA-USB standard and thus needs
    its separate driver.
    Tested on an actual MCS7780 based dongle.

    Original implementation by Brian Pugh

    Signed-off-by: Samuel Ortiz
    Signed-off-by: David S. Miller

    Samuel Ortiz
     
  • A couple of fixes that should prevent crashes when using netconsole and
    suspend/resume. First, netconsole poll routine shouldn't run unless the
    device is up; second, the NAPI poll should be disabled during suspend.

    This is only an issue on sky2, because it has to have one NAPI poll
    routine for both ports on dual port boards. Normal drivers use
    netif_rx_schedule_prep and that checks for netif_running.

    Signed-off-by: Stephen Hemminger
    Signed-off-by: Linus Torvalds

    Stephen Hemminger
     

14 Jun, 2006

6 commits


13 Jun, 2006

1 commit

  • This fixes two independent problems: it would not save the PCI state on
    suspend (and thus try to resume a nonexistent state on resume), and
    while shut off, if an interrupt happened on the same shared irq, the irq
    handler would react very badly to the interrupt status being an invalid
    all-ones state.

    Acked-by: Jeff Garzik
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

12 Jun, 2006

3 commits

  • convert au1000_eth driver to use PHY framework and garbage collected
    functions and identifiers that became unused/obsolete in the process

    Signed-off-by: Herbert Valerio Riedel
    Signed-off-by: Jeff Garzik

    Herbert Valerio Riedel
     
  • Priority: not critical; makes init code discardable.

    Fix section mismatch warnings:
    WARNING: drivers/net/3c501.o - Section mismatch: reference to .init.text:el1_probe from .text between 'init_module' (at offset 0x812) and 'cleanup_module'
    WARNING: drivers/net/3c503.o - Section mismatch: reference to .init.text: from .text between 'init_module' (at offset 0x661) and 'cleanup_card'
    WARNING: drivers/net/3c505.o - Section mismatch: reference to .init.text: from .text between 'init_module' (at offset 0x228d) and 'cleanup_module'
    WARNING: drivers/net/3c507.o - Section mismatch: reference to .init.text:el16_probe from .text between 'init_module' (at offset 0xa99) and 'cleanup_module'
    WARNING: drivers/net/3c523.o - Section mismatch: reference to .init.text: from .text between 'init_module' (at offset 0x12e7) and 'cleanup_module'
    WARNING: drivers/net/3c527.o - Section mismatch: reference to .init.text:mc32_probe from .text between 'init_module' (at offset 0xd8d) and 'cleanup_module'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Jeff Garzik

    Randy Dunlap
     
  • Priority: not critical; makes init code discardable.
    Removes one duplicate assignment.

    Fix section mismatch warnings:
    WARNING: drivers/net/smc-ultra.o - Section mismatch: reference to .init.text: from .text between 'init_module' (at offset 0x369) and 'cleanup_card'
    WARNING: drivers/net/smc-ultra32.o - Section mismatch: reference to .init.text:ultra32_probe from .text between 'init_module' (at offset 0x254) and 'cleanup_module'
    WARNING: drivers/net/smc9194.o - Section mismatch: reference to .init.text:smc_init from .text between 'init_module' (at offset 0x997) and 'cleanup_module'
    WARNING: drivers/net/smc9194.o - Section mismatch: reference to .init.data: from .data between 'smcdev.0' (at offset 0x44) and '__param_str_io'

    Signed-off-by: Randy Dunlap
    Signed-off-by: Jeff Garzik

    Randy Dunlap