1. 22 7月, 2007 1 次提交
  2. 20 7月, 2007 1 次提交
  3. 18 7月, 2007 2 次提交
    • J
      usermodehelper: Tidy up waiting · 86313c48
      Jeremy Fitzhardinge 提交于
      Rather than using a tri-state integer for the wait flag in
      call_usermodehelper_exec, define a proper enum, and use that.  I've
      preserved the integer values so that any callers I've missed should
      still work OK.
      Signed-off-by: NJeremy Fitzhardinge <jeremy@xensource.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Randy Dunlap <randy.dunlap@oracle.com>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Cc: Joel Becker <joel.becker@oracle.com>
      Cc: Tony Luck <tony.luck@intel.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Srivatsa Vaddagiri <vatsa@in.ibm.com>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: David Howells <dhowells@redhat.com>
      86313c48
    • R
      Freezer: make kernel threads nonfreezable by default · 83144186
      Rafael J. Wysocki 提交于
      Currently, the freezer treats all tasks as freezable, except for the kernel
      threads that explicitly set the PF_NOFREEZE flag for themselves.  This
      approach is problematic, since it requires every kernel thread to either
      set PF_NOFREEZE explicitly, or call try_to_freeze(), even if it doesn't
      care for the freezing of tasks at all.
      
      It seems better to only require the kernel threads that want to or need to
      be frozen to use some freezer-related code and to remove any
      freezer-related code from the other (nonfreezable) kernel threads, which is
      done in this patch.
      
      The patch causes all kernel threads to be nonfreezable by default (ie.  to
      have PF_NOFREEZE set by default) and introduces the set_freezable()
      function that should be called by the freezable kernel threads in order to
      unset PF_NOFREEZE.  It also makes all of the currently freezable kernel
      threads call set_freezable(), so it shouldn't cause any (intentional)
      change of behaviour to appear.  Additionally, it updates documentation to
      describe the freezing of tasks more accurately.
      
      [akpm@linux-foundation.org: build fixes]
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NNigel Cunningham <nigel@nigel.suspend2.net>
      Cc: Pavel Machek <pavel@ucw.cz>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      83144186
  4. 17 7月, 2007 1 次提交
  5. 12 7月, 2007 2 次提交
    • J
      i2c: Fix the i2c_smbus_read_i2c_block_data() prototype · 4b2643d7
      Jean Delvare 提交于
      Let the drivers specify how many bytes they want to read with
      i2c_smbus_read_i2c_block_data(). So far, the block count was
      hard-coded to I2C_SMBUS_BLOCK_MAX (32), which did not make much sense.
      Many driver authors complained about this before, and I believe it's
      about time to fix it. Right now, authors have to do technically stupid
      things, such as individual byte reads or full-fledged I2C messaging,
      to work around the problem. We do not want to encourage that.
      
      I even found that some bus drivers (e.g. i2c-amd8111) already
      implemented I2C block read the "right" way, that is, they didn't
      follow the old, broken standard. The fact that it was never noticed
      before just shows how little i2c_smbus_read_i2c_block_data() was used,
      which isn't that surprising given how broken its prototype was so far.
      
      There are some obvious compatiblity considerations:
      * This changes the i2c_smbus_read_i2c_block_data() prototype. Users
        outside the kernel tree will notice at compilation time, and will
        have to update their code.
      * User-space has access to i2c_smbus_xfer() directly using i2c-dev, so
        the changed expectations would affect tools such as i2cdump. In order
        to preserve binary compatibility, we give I2C_SMBUS_I2C_BLOCK_DATA
        a new numeric value, and define I2C_SMBUS_I2C_BLOCK_BROKEN with the
        old numeric value. When i2c-dev receives a transaction with the
        old value, it can convert it to the new format on the fly.
      Signed-off-by: NJean Delvare <khali@linux-fr.org>
      4b2643d7
    • T
      sysfs: kill unnecessary attribute->owner · 7b595756
      Tejun Heo 提交于
      sysfs is now completely out of driver/module lifetime game.  After
      deletion, a sysfs node doesn't access anything outside sysfs proper,
      so there's no reason to hold onto the attribute owners.  Note that
      often the wrong modules were accounted for as owners leading to
      accessing removed modules.
      
      This patch kills now unnecessary attribute->owner.  Note that with
      this change, userland holding a sysfs node does not prevent the
      backing module from being unloaded.
      
      For more info regarding lifetime rule cleanup, please read the
      following message.
      
        http://article.gmane.org/gmane.linux.kernel/510293
      
      (tweaked by Greg to not delete the field just yet, to make it easier to
      merge things properly.)
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7b595756
  6. 23 6月, 2007 1 次提交
  7. 21 6月, 2007 1 次提交
  8. 02 6月, 2007 1 次提交
  9. 23 5月, 2007 1 次提交
  10. 17 5月, 2007 1 次提交
  11. 10 5月, 2007 1 次提交
  12. 09 5月, 2007 3 次提交
  13. 08 5月, 2007 1 次提交
  14. 07 5月, 2007 2 次提交
  15. 05 5月, 2007 3 次提交
    • F
      CUDA ADB fixes · 0251c38c
      Finn Thain 提交于
      Fix the flakiness in the CUDA ADB driver on m68k macs (keypresses getting
      wedged down or ADB just going AWOL altogether).
      
      The only IRQ used by this driver is the VIA shift register IRQ. The PowerMac
      conditional code disables the other VIA IRQ sources, so don't mess with the
      other IRQ flags in the common code -- m68k macs need them.
      
      When polling, don't disable local interrupts when we only need to disable the
      CUDA interrupt.
      
      Unless polling, don't clear the shift register IRQ flag. On m68k macs this
      creates a race that often breaks CUDA ADB.
      
      Tested on Quadra 840av and LC630 (both m68k); also Beige G3 (powerpc).
      Signed-off-by: NFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      0251c38c
    • F
      m68k: Mac II ADB fixes · d95fd5fc
      Finn Thain 提交于
      Fix a crash caused by requests placed in the queue with the completed flag
      already set. This lead to some ADB_SYNC requests returning early and their
      request structs being popped off the stack while still queued. Stack corruption
      ensued or an invalid request callback pointer was invoked or both. Eliminate
      macii_retransmit() and its buggy implementation of macii_write(). Have
      macii_queue_poll() fully initialise the request queues.
      
      Fix a bug in macii_queue_poll() where the last_req pointer was not being set.
      This caused some requests to leave the queue before being completed (and would
      also corrupt the stack under certain conditions).
      
      Fix a race in macii_start that could set the state machine to "reading" while
      current_req was null.
      
      No longer send poll commands with the ADBREQ_REPLY flag -- doing that caused
      the replies to be stored in the request buffer where they were forgotten
      about.
      
      Don't autopoll by continuously sending new Talk commands. Get the controller to
      do that for us. This reduces the ADB interrupt rate on an idle bus to about 5
      per second. Only autopoll the devices that were probed.
      
      Explicitly clear the interrupt flag when polling.
      
      Use disable_irq rather than local_irq_save when polling.
      
      Remove excess local_irq_save/restore pairs.
      
      Improve bus timeout and service request detection.
      
      Remove unused code (last_reply, adb_dir etc) and unneeded code (prefix_len,
      first_byte etc).
      
      Change TIP and TACK to their correct names on this ADB controller (ST_EVEN and
      ST_ODD).
      
      Add some commentry.
      
      Add a generous quantity of sanity checks (BUG_ONs).
      
      Let m68k macs use the adb_sync boot param too.
      
      Tested on Mac II, Mac IIci, Quadra 650, Quadra 700 etc.
      Signed-off-by: NFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d95fd5fc
    • F
      m68k: pmu_queue_request() declaration conflict · bff832cd
      Finn Thain 提交于
      Fixes a "static qualifier follows non-static qualifier" error from gcc 4.
      Signed-off-by: NFinn Thain <fthain@telegraphics.com.au>
      Signed-off-by: NRoman Zippel <zippel@linux-m68k.org>
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bff832cd
  16. 02 5月, 2007 4 次提交
  17. 27 4月, 2007 1 次提交
  18. 26 4月, 2007 1 次提交
  19. 24 4月, 2007 4 次提交
  20. 18 4月, 2007 1 次提交
  21. 13 4月, 2007 5 次提交
  22. 26 3月, 2007 1 次提交
  23. 08 3月, 2007 1 次提交