Permalink
Commits on May 11, 2006
  1. Linux v2.6.17-rc4

    Linus Torvalds committed May 11, 2006
  2. Merge master.kernel.org:/home/rmk/linux-2.6-arm

    Linus Torvalds committed May 11, 2006
    * 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
  3. Merge master.kernel.org:/home/rmk/linux-2.6-serial

    Linus Torvalds committed May 11, 2006
    * 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
  4. Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

    Linus Torvalds committed May 11, 2006
    * 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.
  5. Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6

    Linus Torvalds committed May 11, 2006
    * 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
      ...
  6. [BLOCK] limit request_fn recursion

    Jens Axboe committed with Linus Torvalds May 11, 2006
    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 <axboe@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  7. [NET_SCHED]: HFSC: fix thinko in hfsc_adjust_levels()

    kaber committed with davem330 May 11, 2006
    When deleting the last child the level of a class should drop to zero.
    
    Noticed by Andreas Mueller <andreas@stapelspeicher.org>
    
    Signed-off-by: Patrick McHardy <kaber@trash.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  8. ptrace_attach: fix possible deadlock schenario with irqs

    Linus Torvalds committed May 11, 2006
    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 <oleg@tv-sign.ru>
    Cc: Eric W. Biederman <ebiederm@xmission.com>
    Cc: Roland McGrath <roland@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Commits on May 10, 2006
  1. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    Linus Torvalds committed May 10, 2006
    …/git/roland/infiniband
    
    * '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
  2. IB/mthca: FMR ioremap fix

    Michael S. Tsirkin committed with Roland Dreier May 10, 2006
    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 <mst@mellanox.co.il>
    Signed-off-by: Roland Dreier <rolandd@cisco.com>
  3. Merge branch 'upstream' of master.kernel.org:/pub/scm/linux/kernel/gi…

    Linus Torvalds committed May 10, 2006
    …t/shemminger/netdev-2.6
    
    * '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
  4. sis900: phy for FoxCon motherboard

    James Cameron committed with Stephen Hemminger May 10, 2006
    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 <james.cameron@hp.com>
    Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
  5. dl2k: use DMA_48BIT_MASK constant

    Francois Romieu committed with Stephen Hemminger May 10, 2006
    Typo will be harder with this one.
    
    Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
    Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
  6. phy: mdiobus_register(): initialize all phy_map entries

    hvr committed with Stephen Hemminger May 10, 2006
    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 <hvr@gnu.org>
    Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
  7. sky2: ifdown kills irq mask

    Stephen Hemminger committed May 9, 2006
    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 <shemminger@osdl.org>
  8. [Cardman 40x0] Fix udev device creation

    laf0rge committed with Linus Torvalds May 10, 2006
    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 <jan@gondor.com>.
    
    Signed-off-by: Harald Welte <laforge@netfilter.org>
    Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  9. [IPV6]: skb leakage in inet6_csk_xmit

    Alexey Kuznetsov committed with davem330 May 10, 2006
    inet6_csk_xit does not free skb when routing fails.
    
    Signed-off-by: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  10. [BRIDGE]: Do sysfs registration inside rtnl.

    Stephen Hemminger committed with davem330 May 10, 2006
    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 <shemminger@osdl.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  11. [NET]: Do sysfs registration as part of register_netdevice.

    Stephen Hemminger committed with davem330 May 10, 2006
    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 <shemminger@osdl.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  12. [SCSI] mptfc: race between mptfc_register_dev and mptfc_target_alloc

    mdr@sgi.com committed with James Bottomley May 1, 2006
    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 <mdr@sgi.com>
    Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
    Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
  13. [TG3]: Fix possible NULL deref in tg3_run_loopback().

    Jesper Juhl committed with davem330 May 10, 2006
    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 <jesper.juhl@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  14. IPoIB: Free child interfaces properly

    Roland Dreier committed May 10, 2006
    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 <rolandd@cisco.com>
Commits on May 9, 2006
  1. [NET] linkwatch: Handle jiffies wrap-around

    herbertx committed with davem330 May 9, 2006
    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 <herbert@gondor.apana.org.au>
    Acked-by: Stefan Rompf <stefan@loplof.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  2. [IRDA]: Switching to a workqueue for the SIR work

    Christoph Hellwig committed with davem330 May 9, 2006
    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 <hch@lst.de>
    Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  3. [IRDA]: smsc-ircc: Minimal hotplug support.

    David Brownell committed with davem330 May 9, 2006
    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 <dbrownell@users.sourceforge.net>
    Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  4. [IRDA]: Removing unused EXPORT_SYMBOLs

    AdrianBunk committed with davem330 May 9, 2006
    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 <bunk@stusta.de>
    Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  5. [IRDA]: New maintainer.

    Samuel Ortiz committed with davem330 May 9, 2006
    As agreed with Jean Tourrilhes, I am taking over IrDA maintainership.
    
    Signed-off-by: Samuel Ortiz <samuel.ortiz@nokia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  6. [NET]: Make netdev_chain a raw notifier.

    AlanStern committed with davem330 May 9, 2006
    From: Alan Stern <stern@rowland.harvard.edu>
    
    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 <davem@davemloft.net>
  7. [IPV4]: ip_options_fragment() has no effect on fragmentation

    Wei Yongjun committed with davem330 May 9, 2006
    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 <weiyj@soft.fujitsu.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  8. [NET]: Add missing operstates documentation.

    Stefan Rompf committed with davem330 May 9, 2006
    Signed-off-by: Stefan Rompf <stefan@loplof.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
  9. [ARM] 3508/1: Update collie defconfig

    pavelmachek committed with Russell King May 9, 2006
    Patch from Pavel Machek
    
    Update collie defconfig to something that can bring closer-to-working
    system to its user.
    
    Signed-off-by: Pavel Machek <pavel@suse.cz>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  10. [ARM] Fix thread struct allocator for SMP case

    Russell King committed with Russell King May 9, 2006
    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 <rmk+kernel@arm.linux.org.uk>
  11. IB/mthca: Fix race in reference counting

    Roland Dreier committed May 9, 2006
    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 <rolandd@cisco.com>
  12. IB/srp: Fix tracking of pending requests during error handling

    Roland Dreier committed May 9, 2006
    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 <rolandd@cisco.com>
  13. IB: Fix display of 4-bit port counters in sysfs

    Ralph Campbell committed with Roland Dreier May 9, 2006
    The code to display local_link_integrity_errors and
    excessive_buffer_overrun_errors in
    /sys/class/infiniband/<hca>/ports/<n>/counters/
    uses the wrong shift to extract the 4 bit values.
    
    Signed-off-by: Ralph Campbell <ralph.campbell@qlogic.com>
    Signed-off-by: Roland Dreier <rolandd@cisco.com>