16 May, 2006

2 commits


12 May, 2006

8 commits

  • Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-arm:
    [ARM] 3508/1: Update collie defconfig
    [ARM] Fix thread struct allocator for SMP case
    [ARM] Update mach-types
    [ARM] Update versatile_defconfig

    Linus Torvalds
     
  • * master.kernel.org:/home/rmk/linux-2.6-serial:
    [SERIAL] 8250: add locking to console write function
    [SERIAL] Remove unconditional enable of TX irq for console
    [SERIAL] 8250: set divisor register correctly for AMD Alchemy SoC uart
    [SERIAL] AMD Alchemy UART: claim memory range
    [SERIAL] Clean up serial locking when obtaining a reference to a port

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
    [NET_SCHED]: HFSC: fix thinko in hfsc_adjust_levels()
    [IPV6]: skb leakage in inet6_csk_xmit
    [BRIDGE]: Do sysfs registration inside rtnl.
    [NET]: Do sysfs registration as part of register_netdevice.
    [TG3]: Fix possible NULL deref in tg3_run_loopback().
    [NET] linkwatch: Handle jiffies wrap-around
    [IRDA]: Switching to a workqueue for the SIR work
    [IRDA]: smsc-ircc: Minimal hotplug support.
    [IRDA]: Removing unused EXPORT_SYMBOLs
    [IRDA]: New maintainer.
    [NET]: Make netdev_chain a raw notifier.
    [IPV4]: ip_options_fragment() has no effect on fragmentation
    [NET]: Add missing operstates documentation.

    Linus Torvalds
     
  • * master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (25 commits)
    [SCSI] mptfc: race between mptfc_register_dev and mptfc_target_alloc
    [SCSI] lpfc 8.1.6 : Fix Data Corruption in Bus Reset Path
    [SCSI] mptspi: revalidate negotiation parameters after host reset and resume
    [SCSI] srp.h: avoid padding of structs
    [SCSI] ibmvscsi: fix leak when failing to send srp event
    [SCSI] qla2xxx: Correct eh_abort recovery logic.
    [SCSI] megaraid_{mm,mbox}: fix a bug in reset handler
    [SCSI] fusion - bug fix stack overflow in mptbase
    [SCSI] scsi: Add IBM 2104-DU3 to blist
    [SCSI] Fix DVD burning issues.
    [SCSI] SCSI: aic7xxx_osm_pci resource leak fix.
    [SCSI] - fusion - mptfc bug fix's to prevent deadlock situations
    [SCSI] mptfusion: bug fix's for raid components adding/deleting
    [SCSI] aic7xxx: ahc_pci_write_config() fix
    [SCSI] megaraid: unused variable
    [SCSI] qla2xxx: only free_irq() after request_irq() succeeds
    [SCSI] Overrun in drivers/scsi/sim710.c
    [SCSI] lpfc 8.1.5 : Change version number to 8.1.5
    [SCSI] lpfc 8.1.5 : Misc small fixes
    [SCSI] lpfc 8.1.5 : Additional fixes to LOGO, PLOGI, and RSCN processing
    ...

    Linus Torvalds
     
  • Don't recurse back into the driver even if the unplug threshold is met,
    when the driver asks for a requeue. This is both silly from a logical
    point of view (requeues typically happen due to driver/hardware
    shortage), and also dangerous since we could hit an endless request_fn
    -> requeue -> unplug -> request_fn loop and crash on stack overrun.

    Also limit blk_run_queue() to one level of recursion, similar to how
    blk_start_queue() works.

    This patch fixed a real problem with SLES10 and lpfc, and it could hit
    any SCSI lld that returns non-zero from it's ->queuecommand() handler.

    Signed-off-by: Jens Axboe
    Signed-off-by: Linus Torvalds

    Jens Axboe
     
  • When deleting the last child the level of a class should drop to zero.

    Noticed by Andreas Mueller

    Signed-off-by: Patrick McHardy
    Signed-off-by: David S. Miller

    Patrick McHardy
     
  • Eric Biederman points out that we can't take the task_lock while holding
    tasklist_lock for writing, because another CPU that holds the task lock
    might take an interrupt that then tries to take tasklist_lock for writing.

    Which would be a nasty deadlock, with one CPU spinning forever in an
    interrupt handler (although admittedly you need to really work at
    triggering it ;)

    Since the ptrace_attach() code is special and very unusual, just make it
    be extra careful, and use trylock+repeat to avoid the possible deadlock.

    Cc: Oleg Nesterov
    Cc: Eric W. Biederman
    Cc: Roland McGrath
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

11 May, 2006

11 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IB/mthca: FMR ioremap fix
    IPoIB: Free child interfaces properly
    IB/mthca: Fix race in reference counting
    IB/srp: Fix tracking of pending requests during error handling
    IB: Fix display of 4-bit port counters in sysfs

    Linus Torvalds
     
  • Addresses for ioremap must be calculated off of pci_resource_start;
    we can't directly use the bus address as seen by the HCA. Fix the
    code that remaps device memory for FMR access.

    Based on patch by Klaus Smolin.

    Signed-off-by: Michael S. Tsirkin
    Signed-off-by: Roland Dreier

    Michael S. Tsirkin
     
  • * 'upstream' of master.kernel.org:/pub/scm/linux/kernel/git/shemminger/netdev-2.6:
    sis900: phy for FoxCon motherboard
    dl2k: use DMA_48BIT_MASK constant
    phy: mdiobus_register(): initialize all phy_map entries
    sky2: ifdown kills irq mask

    Linus Torvalds
     
  • 661FX7MI-S motherboard which uses the SiS 661FX chipset. The patch adds
    an entry to mii_chip_info for the transceiver.

    The PHY ids were found using the sis900_c_122.diff patch from
    http://brownhat.org/sis900.html but that patch didn't solve the problem,
    because the PHY at address 1 was already being chosen.

    Without my patch, when bursts of packets arrive from other hosts on a
    LAN, the interface dropped one roughly 10% of the time, causing
    retransmits. There were fifth second pauses in refresh of large xterms,
    and it made Netrek suck. I can provide further test data.

    Workaround in lieu of patch is to use mii-tool to advertise
    100baseTx-HD, then force renegotiation.

    I wasn't able to identify the actual transceiver, so the description
    field is a guess.

    This patch is similar to Artur Skawina's patch:
    http://marc.theaimsgroup.com/?l=linux-netdev&m=114297516729079&w=2

    I'm not sure, but I wonder if it means the default behaviour should be
    changed, so as to better handle future transceivers.

    Diff is against 2.6.16.13.

    Signed-off-by: James Cameron
    Signed-off-by: Stephen Hemminger

    James Cameron
     
  • Typo will be harder with this one.

    Signed-off-by: Francois Romieu
    Signed-off-by: Stephen Hemminger

    Francois Romieu
     
  • make sure phy_map entries whose PHY address is masked are initialized
    to NULL, given that other code (such as mdiobus_unregister for
    instance) assumes that non-NULL phy_map entries are allocated
    phy_devices

    Signed-off-by: Herbert Valerio Riedel
    Signed-off-by: Stephen Hemminger

    Herbert Valerio Riedel
     
  • Bringing down a port also masks off the status and other IRQ's
    needed for device to function due to missing paren's.

    Signed-off-by: Stephen Hemminger

    Stephen Hemminger
     
  • This patch corrects the order of the calls to register_chrdev() and
    pcmcia_register_driver(). Now udev correctly creates userspace device
    files /dev/cmmN and /dev/cmxN respectively.

    Based on an earlier patch by Jan Niehusmann .

    Signed-off-by: Harald Welte
    Signed-off-by: Linus Torvalds

    Harald Welte
     
  • inet6_csk_xit does not free skb when routing fails.

    Signed-off-by: Alexey Kuznetsov
    Signed-off-by: David S. Miller

    Alexey Kuznetsov
     
  • Now that netdevice sysfs registration is done as part of
    register_netdevice; bridge code no longer has to be tricky when adding
    it's kobjects to bridges.

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

    Stephen Hemminger
     
  • The last step of netdevice registration was being done by a delayed
    call, but because it was delayed, it was impossible to return any error
    code if the class_device registration failed.

    Side effects:
    * one state in registration process is unnecessary.
    * register_netdevice can sleep inside class_device registration/hotplug
    * code in netdev_run_todo only does unregistration so it is simpler.

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

    Stephen Hemminger
     

10 May, 2006

17 commits

  • A race condition exists in mptfc between the thread registering a device
    with the fc transport and the scan work generated by the transport.
    This race existed prior to the application of the mptfc bug fix patch.

    mptfc_register_dev() calls fc_remote_port_add() with the FC_RPORT_ROLE_TARGET
    bit set in the rport ids passed to the function. Having this bit set causes
    fc_remote_port_add() to schedule a scan of the device.

    This scan can execute before mptfc_register_dev() can fill in the dd_data
    in the rport structure. When this happens, mptfc_target_alloc() will fail
    because dd_data is null.

    Attached is a patch which fixes the problem. The patch changes the rport ids
    passed to fc_remote_port_add() to not have the TARGET bit set. This prevents
    the scan from being scheduled. After mptfc_register_dev() fills in the rport
    dd_data field, fc_remote_port_rolechg() is called, changing the role of the
    rport to TARGET. Thus, the scan is scheduled after dd_data is filled
    in which prevents the failure in mptfc_target_alloc().

    Signed-off-by: Michael Reed
    Signed-off-by: Eric Moore
    Signed-off-by: James Bottomley

    mdr@sgi.com
     
  • tg3_run_loopback doesn't check that dev_alloc_skb() returns anything
    useful.

    Even if dev_alloc_skb() fails to return an skb to us we'll happily go
    on and assume it did, so we risk dereferencing a NULL pointer. Much
    better to fail gracefully by returning -ENOMEM than crashing here.

    Signed-off-by: Jesper Juhl
    Signed-off-by: David S. Miller

    Jesper Juhl
     
  • When deleting a child interface with a non-default P_Key via
    /sys/class/net/ibX/delete_child, the interface must be freed with
    free_netdev() (rather than kfree() on the private data).

    Signed-off-by: Roland Dreier

    Roland Dreier
     
  • The test used in the linkwatch does not handle wrap-arounds correctly.
    Since the intention of the code is to eliminate bursts of messages we
    can afford to delay things up to a second. Using that fact we can
    easily handle wrap-arounds by making sure that we don't delay things
    by more than one second.

    This is based on diagnosis and a patch by Stefan Rompf.

    Signed-off-by: Herbert Xu
    Acked-by: Stefan Rompf
    Signed-off-by: David S. Miller

    Herbert Xu
     
  • Since sir_kthread.c pretty much duplicates the workqueue
    functionality, we'd better switch. The SIR fsm has been merged into
    sir_dev.c and thus sir_kthread.c is deleted.

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

    Christoph Hellwig
     
  • Minimal PNP hotplug support for the smsc-ircc2 driver. A modular
    driver will be modprobed via hotplug, but still bypasses driver model
    probing.

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

    David Brownell
     
  • This patch removes the following unused EXPORT_SYMBOL's:
    - irias_find_attrib
    - irias_new_string_value
    - irias_new_octseq_value

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

    Adrian Bunk
     
  • As agreed with Jean Tourrilhes, I am taking over IrDA maintainership.

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

    Samuel Ortiz
     
  • From: Alan Stern

    This chain does it's own locking via the RTNL semaphore, and
    can also run recursively so adding a new mutex here was causing
    deadlocks.

    Signed-off-by: David S. Miller

    Alan Stern
     
  • Fix error point to options in ip_options_fragment(). optptr get a
    error pointer to the ipv4 header, correct is pointer to ipv4 options.

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • Signed-off-by: Stefan Rompf
    Signed-off-by: David S. Miller

    Stefan Rompf
     
  • Patch from Pavel Machek

    Update collie defconfig to something that can bring closer-to-working
    system to its user.

    Signed-off-by: Pavel Machek
    Signed-off-by: Russell King

    Pavel Machek
     
  • The ARM thread struct allocator is racy on SMP systems. Fix it by
    turning it into a per-cpu based allocator. This also allows keeps
    the cache cache warm for thread structs and kernel stacks.

    Signed-off-by: Russell King

    Russell King
     
  • Fix races in in destroying various objects. If a destroy routine
    waits for an object to become free by doing

    wait_event(&obj->wait, !atomic_read(&obj->refcount));
    /* now clean up and destroy the object */

    and another place drops a reference to the object by doing

    if (atomic_dec_and_test(&obj->refcount))
    wake_up(&obj->wait);

    then this is susceptible to a race where the wait_event() and final
    freeing of the object occur between the atomic_dec_and_test() and the
    wake_up(). And this is a use-after-free, since wake_up() will be
    called on part of the already-freed object.

    Fix this in mthca by replacing the atomic_t refcounts with plain old
    integers protected by a spinlock. This makes it possible to do the
    decrement of the reference count and the wake_up() so that it appears
    as a single atomic operation to the code waiting on the wait queue.

    While touching this code, also simplify mthca_cq_clean(): the CQ being
    cleaned cannot go away, because it still has a QP attached to it. So
    there's no reason to be paranoid and look up the CQ by number; it's
    perfectly safe to use the pointer that the callers already have.

    Signed-off-by: Roland Dreier

    Roland Dreier
     
  • If a SCSI abort completes, or the command completes successfully, then
    the driver must remove the command from its queue of pending
    commands. Similarly, if a device reset succeeds, then all commands
    queued for the given device must be removed from the queue.

    Signed-off-by: Roland Dreier

    Roland Dreier
     
  • The code to display local_link_integrity_errors and
    excessive_buffer_overrun_errors in
    /sys/class/infiniband//ports//counters/
    uses the wrong shift to extract the 4 bit values.

    Signed-off-by: Ralph Campbell
    Signed-off-by: Roland Dreier

    Ralph Campbell
     
  • * 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/netdev-2.6:
    [PATCH] bcm43xx: Fix access to non-existent PHY registers
    [PATCH] bcm43xx: Fix array overrun in bcm43xx_geo_init
    [PATCH] bcm43xx: check for valid MAC address in SPROM
    [PATCH] ieee80211: Fix A band channel count (resent)
    [PATCH] bcm43xx: fix iwmode crash when down
    [PATCH] softmac: make non-operational after being stopped
    [PATCH] softmac: don't reassociate if user asked for deauthentication
    spidernet: enable support for bcm5461 ethernet phy
    spidernet: introduce new setting
    Fix RTL8019AS init for Toshiba RBTX49xx boards
    au1000_eth.c: use ether_crc() from
    sky2: version 1.3
    Add more support for the Yukon Ultra chip found in dual core centino laptops.
    sky2: synchronize irq on remove
    sky2: dont write status ring
    sky2: edge triggered workaround enhancement
    sky2: use mask instead of modulo operation
    sky2: tx ring index mask fix
    sky2: status irq hang fix
    sky2: backout NAPI reschedule

    Linus Torvalds
     

09 May, 2006

2 commits