1. 25 1月, 2008 3 次提交
    • R
      PM: Acquire device locks on suspend · 775b64d2
      Rafael J. Wysocki 提交于
      This patch reorganizes the way suspend and resume notifications are
      sent to drivers.  The major changes are that now the PM core acquires
      every device semaphore before calling the methods, and calls to
      device_add() during suspends will fail, while calls to device_del()
      during suspends will block.
      
      It also provides a way to safely remove a suspended device with the
      help of the PM core, by using the device_pm_schedule_removal() callback
      introduced specifically for this purpose, and updates two drivers (msr
      and cpuid) that need to use it.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      775b64d2
    • F
      nozomi driver · 20fd1e3b
      Frank Seidel 提交于
      This is a driver to control the cardbus wireless data card that works on
      3g networks.
      
      Greg Kroah-Hartman <gregkh@suse.de> did the initial driver cleanup.
      Thanks to Arnaud Patard <apatard@mandriva.com> for help with bugfixing.
      Thanks to Alan Cox for a lot of tty fixes.
      Thanks to Satyam Sharma <satyam@infradead.org> for fixing buildbreakage.
      Thanks to Frank Seidel <fseidel@suse.de> for a lot of bugfixes and
      rewriting to make it a sane Linux driver
      Thanks to Jiri Slaby <jirislaby@gmail.com> for a lot bugfixes, cleanups
      and rewrites that make it much more readable.
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: NFrank Seidel <fseidel@suse.de>
      Signed-off-by: NJiri Slaby <jirislaby@gmail.com>
      20fd1e3b
    • K
      spi: omap2_mcspi PIO RX fix · feed9bab
      Kalle Valo 提交于
      Before transmission of the last word in PIO RX_ONLY mode rx+tx mode
      is enabled:
      
      	/* prevent last RX_ONLY read from triggering
      	 * more word i/o: switch to rx+tx
      	 */
      	if (c == 0 && tx == NULL)
      		mcspi_write_cs_reg(spi,
      				OMAP2_MCSPI_CHCONF0, l);
      
      But because c is decremented after the test, c will never be zero and
      rx+tx will not be enabled. This breaks RX_ONLY mode PIO transfers.
      
      Fix it by decrementing c in the beginning of the various I/O loops.
      Signed-off-by: NKalle Valo <kalle.valo@nokia.com>
      Signed-off-by: NDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      feed9bab
  2. 24 1月, 2008 15 次提交
  3. 23 1月, 2008 9 次提交
  4. 22 1月, 2008 5 次提交
  5. 21 1月, 2008 4 次提交
    • P
      [NET]: rtnl_link: fix use-after-free · 68365458
      Patrick McHardy 提交于
      When unregistering the rtnl_link_ops, all existing devices using
      the ops are destroyed. With nested devices this may lead to a
      use-after-free despite the use of for_each_netdev_safe() in case
      the upper device is next in the device list and is destroyed
      by the NETDEV_UNREGISTER notifier.
      
      The easy fix is to restart scanning the device list after removing
      a device. Alternatively we could add new devices to the front of
      the list to avoid having dependant devices follow the device they
      depend on. A third option would be to only restart scanning if
      dev->iflink of the next device matches dev->ifindex of the current
      one. For now this seems like the safest solution.
      
      With this patch, the veth rtnl_link_ops unregistration can use
      rtnl_link_unregister() directly since it now also handles destruction
      of multiple devices at once.
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      68365458
    • A
      [ATM] atm/suni.c: Fix section mismatch. · 421c9914
      Adrian Bunk 提交于
      EXPORT_SYMBOL'ed code mustn't be __*init.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      421c9914
    • A
      [ATM] atm/idt77105.c: Fix section mismatch. · 799fa677
      Adrian Bunk 提交于
      EXPORT_SYMBOL'ed code mustn't be __*init.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Acked-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      799fa677
    • D
      [NET]: Fix interrupt semaphore corruption in Intel drivers. · 49d85c50
      David S. Miller 提交于
      Several of the Intel ethernet drivers keep an atomic counter used to
      manage when to actually hit the hardware with a disable or an enable.
      
      The way the net_rx_work() breakout logic works during a pending
      napi_disable() is that it simply unschedules the poll even if it
      still has work.
      
      This can potentially leave interrupts disabled, but that is OK
      because all of the drivers are about to disable interrupts
      anyways in all such code paths that do a napi_disable().
      
      Unfortunately, this trips up the semaphore used here in the Intel
      drivers.  If you hit this case, when you try to bring the interface
      back up it won't enable interrupts.  A reload of the driver module
      fixes it of course.
      
      So what we do is make sure all the sequences now go:
      
      	napi_disable();
      	atomic_set(&adapter->irq_sem, 0);
      	*_irq_disable();
      
      which makes sure the counter is always in the correct state.
      
      Reported by Robert Olsson.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      49d85c50
  6. 20 1月, 2008 2 次提交
  7. 19 1月, 2008 2 次提交