1. 06 Nov, 2011 18 commits
  2. 05 Nov, 2011 15 commits
    • Linus Torvalds's avatar
      Merge git://www.linux-watchdog.org/linux-watchdog · 06d8eb1b
      Linus Torvalds authored
      * git://www.linux-watchdog.org/linux-watchdog:
        watchdog: Convert wm831x driver to watchdog core
        watchdog: s3c2410: convert to use the watchdog framework
        Documentation: watchdog: add guide how to convert drivers to new framework
        watchdog: iTCO_wdt.c - problems with newer hardware due to SMI clearing
        watchdog: Add WDIOC_GETTIMELEFT ioctl support to w83627 watchdog driver
        watchdog: irq: Remove IRQF_DISABLED
        watchdog: Octeon: Mark octeon_wdt interrupt as IRQF_NO_THREAD
        watchdog: sc520_wdt: Remove unnecessary cast.
      06d8eb1b
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 · cd3f07d1
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)
        [SCSI] Fix block queue and elevator memory leak in scsi_alloc_sdev
        [SCSI] scsi_dh_alua: Fix the time inteval for alua rtpg commands
        [SCSI] scsi_transport_iscsi: Fix documentation os parameter
        [SCSI] mv_sas: OCZ RevoDrive3 & zDrive R4 support
        [SCSI] libfc: improve flogi retries to avoid lport stuck
        [SCSI] libfc: avoid exchanges collision during lport reset
        [SCSI] libfc: fix checking FC_TYPE_BLS
        [SCSI] edd: Treat "XPRS" host bus type the same as "PCI"
        [SCSI] isci: overriding max_concurr_spinup oem parameter by max(oem, user)
        [SCSI] isci: revert bcn filtering
        [SCSI] isci: Fix hard reset timeout conditions.
        [SCSI] isci: No need to manage the pending reset bit on pending requests.
        [SCSI] isci: Remove redundant isci_request.ttype field.
        [SCSI] isci: Fix task management for SMP, SATA and on dev remove.
        [SCSI] isci: No task_done callbacks in error handler paths.
        [SCSI] isci: Handle task request timeouts correctly.
        [SCSI] isci: Fix tag leak in tasks and terminated requests.
        [SCSI] isci: Immediately fail I/O to removed devices.
        [SCSI] isci: Lookup device references through requests in completions.
        [SCSI] ipr: add definitions for additional adapter
        ...
      cd3f07d1
    • Mark Brown's avatar
      watchdog: Convert wm831x driver to watchdog core · 00411ee9
      Mark Brown authored
      Fairly large code churn but not much doing with that and the overall
      result is a definite win.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      00411ee9
    • Wolfram Sang's avatar
      watchdog: s3c2410: convert to use the watchdog framework · 25dc46e3
      Wolfram Sang authored
      Make this driver a user of the watchdog framework and remove now
      centrally handled parts. Tested on a mini2440.
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      25dc46e3
    • Wolfram Sang's avatar
      Documentation: watchdog: add guide how to convert drivers to new framework · 74cd4c67
      Wolfram Sang authored
      Signed-off-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Cc: Randy Dunlap <rdunlap@xenotime.net>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      74cd4c67
    • Wim Van Sebroeck's avatar
      watchdog: iTCO_wdt.c - problems with newer hardware due to SMI clearing · deb9197b
      Wim Van Sebroeck authored
      Redhat Bugzilla: Bug 727875 - TCO_EN bit is disabled by TCO driver
      Jiri Slaby: 28d41f53 broke temperature sensors on a ICH10 chipset
      
      The iTCO_wdt driver disables the SMI. This breaks good working of newer hardware.
      The disabling of the SMI by the TCO logic dates back from the i810-tco driver
      from Nils Faerber (around 28 July 2000). The reason for this was that some BIOSes
      install handlers reset or disable the watchdog timer instead of resetting the system.
      The trick to fix this was to disable the SMI (by clearing the SMI_TCO_EN bit of the
      SMI_EN register) to prevent this from happening.
      
      This however has strange effects on newer hardware. So we are in a situation that
      a fix for broken old hardware affects newer hardware.
      
      The correct solution is to make this fix an option (with the new module parameter:
      turn_SMI_watchdog_clear_off) so that the default behaviour is the unfixed version.
      
      the next patch will be to move this in the start and stop functions of the driver
      and to add a new module parameter for the global_smi_en bit and to get rid of the
      vendor_support code.
      
      This fix can have an effect on old (typical ICH & ICH2 chipsets) motherboards that
      have a broken BIOS implementation concerning TCO logic. In these case the module
      parameter turn_SMI_watchdog_clear_off=1 will need to be added.
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      deb9197b
    • Greg Lee's avatar
      watchdog: Add WDIOC_GETTIMELEFT ioctl support to w83627 watchdog driver · c63b6d02
      Greg Lee authored
      Add WDIOC_GETTIMELEFT ioctl allowing you to check how much time is left
      on the watchdog counter before a reset occurs.
      
      Signed-off-by: Greg Lee <glee [at] swspec.com>
      Signed-off-by: default avatarPadraig Brady <P@draigbrady.com>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      Signed-off-by: default avatarAndrew Morton <akpm@google.com>
      c63b6d02
    • Yong Zhang's avatar
      watchdog: irq: Remove IRQF_DISABLED · 86b59128
      Yong Zhang authored
      This flag is a NOOP and can be removed now.
      Signed-off-by: default avatarYong Zhang <yong.zhang0@gmail.com>
      Acked-by: default avatarWolfram Sang <w.sang@pengutronix.de>
      Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      86b59128
    • Venkat Subbiah's avatar
      watchdog: Octeon: Mark octeon_wdt interrupt as IRQF_NO_THREAD · 47bfd058
      Venkat Subbiah authored
      This is to exclude it from force threading to allow RT patch set to work.
      
      The watchdog timers are per-CPU and the addresses of register that reset
      the timer are calculated based on the current CPU.  Therefore we cannot
      allow it to run on a thread on a different CPU.  Also we only do a
      single register write, which is much faster than scheduling a handler
      thread.
      
      And while on this line remove IRQF_DISABLED as this flag is a NOP.
      
      Signed-off-by: Venkat Subbiah<venkat.subbiah@cavium.com>
      Acked-by: David Daney<david.daney@cavium.com>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      47bfd058
    • Sean Young's avatar
      watchdog: sc520_wdt: Remove unnecessary cast. · cef153a8
      Sean Young authored
      Signed-off-by: default avatarSean Young <sean@mess.org>
      Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
      cef153a8
    • Kukjin Kim's avatar
      ARM: EXYNOS4: Fix the merge conflict · dc822e57
      Kukjin Kim authored
      The mark of conflict should be removed.
      
      This happened at the commit fba95699 ("Merge branch 'next' of
      git://git.infradead.org/users/vkoul/slave-dma")
      Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
      [ I always check the conflict resolution with "git diff" before I add
        the result, but I clearly missed that this time, and didn't notice the
        second conflict in that file after having fixed the first one.
        Oops, my bad.      - Linus ]
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dc822e57
    • Dan McGee's avatar
      VFS: fix statfs() automounter semantics regression · 5c8a0fbb
      Dan McGee authored
      No one in their right mind would expect statfs() to not work on a
      automounter managed mount point. Fix it.
      
      [ I'm not sure about the "no one in their right mind" part.  It's not
        mounted, and you didn't ask for it to be mounted.  But nobody will
        really care, and this probably makes it match previous semantics, so..
            - Linus ]
      
      This mirrors the fix made to the quota code in 815d405c.
      Signed-off-by: default avatarDan McGee <dpmcgee@gmail.com>
      Cc: Trond Myklebust <Trond.Myklebust@netapp.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5c8a0fbb
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma · fba95699
      Linus Torvalds authored
      * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (63 commits)
        dmaengine: mid_dma: mask_peripheral_interrupt only when dmac is idle
        dmaengine/ep93xx_dma: add module.h include
        pch_dma: Reduce wasting memory
        pch_dma: Fix suspend issue
        dma/timberdale: free_irq() on an error path
        dma: shdma: transfer based runtime PM
        dmaengine: shdma: protect against the IRQ handler
        dmaengine i.MX DMA/SDMA: add missing include of linux/module.h
        dmaengine: delete redundant chan_id and chancnt initialization in dma drivers
        dmaengine/amba-pl08x: Check txd->llis_va before freeing dma_pool
        dmaengine/amba-pl08x: Add support for sg len greater than one for slave transfers
        serial: sh-sci: don't filter on DMA device, use only channel ID
        ARM: SAMSUNG: Remove Samsung specific enum type for dma direction
        ASoC: Samsung: Update DMA interface
        spi/s3c64xx: Merge dma control code
        spi/s3c64xx: Add support DMA engine API
        ARM: SAMSUNG: Remove S3C-PL330-DMA driver
        ARM: S5P64X0: Use generic DMA PL330 driver
        ARM: S5PC100: Use generic DMA PL330 driver
        ARM: S5PV210: Use generic DMA PL330 driver
        ...
      
      Fix up fairly trivial conflicts in
       - arch/arm/mach-exynos4/{Kconfig,clock.c}
       - arch/arm/mach-s5p64x0/dma.c
      fba95699
    • Linus Torvalds's avatar
      Merge branch 'for-3.2/drivers' of git://git.kernel.dk/linux-block · 3d0a8d10
      Linus Torvalds authored
      * 'for-3.2/drivers' of git://git.kernel.dk/linux-block: (30 commits)
        virtio-blk: use ida to allocate disk index
        hpsa: add small delay when using PCI Power Management to reset for kump
        cciss: add small delay when using PCI Power Management to reset for kump
        xen/blkback: Fix two races in the handling of barrier requests.
        xen/blkback: Check for proper operation.
        xen/blkback: Fix the inhibition to map pages when discarding sector ranges.
        xen/blkback: Report VBD_WSECT (wr_sect) properly.
        xen/blkback: Support 'feature-barrier' aka old-style BARRIER requests.
        xen-blkfront: plug device number leak in xlblk_init() error path
        xen-blkfront: If no barrier or flush is supported, use invalid operation.
        xen-blkback: use kzalloc() in favor of kmalloc()+memset()
        xen-blkback: fixed indentation and comments
        xen-blkfront: fix a deadlock while handling discard response
        xen-blkfront: Handle discard requests.
        xen-blkback: Implement discard requests ('feature-discard')
        xen-blkfront: add BLKIF_OP_DISCARD and discard request struct
        drivers/block/loop.c: remove unnecessary bdev argument from loop_clr_fd()
        drivers/block/loop.c: emit uevent on auto release
        drivers/block/cpqarray.c: use pci_dev->revision
        loop: always allow userspace partitions and optionally support automatic scanning
        ...
      
      Fic up trivial header file includsion conflict in drivers/block/loop.c
      3d0a8d10
    • Linus Torvalds's avatar
      Merge branch 'for-3.2/core' of git://git.kernel.dk/linux-block · b4fdcb02
      Linus Torvalds authored
      * 'for-3.2/core' of git://git.kernel.dk/linux-block: (29 commits)
        block: don't call blk_drain_queue() if elevator is not up
        blk-throttle: use queue_is_locked() instead of lockdep_is_held()
        blk-throttle: Take blkcg->lock while traversing blkcg->policy_list
        blk-throttle: Free up policy node associated with deleted rule
        block: warn if tag is greater than real_max_depth.
        block: make gendisk hold a reference to its queue
        blk-flush: move the queue kick into
        blk-flush: fix invalid BUG_ON in blk_insert_flush
        block: Remove the control of complete cpu from bio.
        block: fix a typo in the blk-cgroup.h file
        block: initialize the bounce pool if high memory may be added later
        block: fix request_queue lifetime handling by making blk_queue_cleanup() properly shutdown
        block: drop @tsk from attempt_plug_merge() and explain sync rules
        block: make get_request[_wait]() fail if queue is dead
        block: reorganize throtl_get_tg() and blk_throtl_bio()
        block: reorganize queue draining
        block: drop unnecessary blk_get/put_queue() in scsi_cmd_ioctl() and blk_get_tg()
        block: pass around REQ_* flags instead of broken down booleans during request alloc/free
        block: move blk_throtl prototypes to block/blk.h
        block: fix genhd refcounting in blkio_policy_parse_and_set()
        ...
      
      Fix up trivial conflicts due to "mddev_t" -> "struct mddev" conversion
      and making the request functions be of type "void" instead of "int" in
       - drivers/md/{faulty.c,linear.c,md.c,md.h,multipath.c,raid0.c,raid1.c,raid10.c,raid5.c}
       - drivers/staging/zram/zram_drv.c
      b4fdcb02
  3. 04 Nov, 2011 7 commits
    • Linus Torvalds's avatar
      044595d4
    • Tejun Heo's avatar
      PM / Freezer: Revert 27920651 "PM / Freezer: Make fake_signal_wake_up() wake... · d6cc7685
      Tejun Heo authored
      PM / Freezer: Revert 27920651 "PM / Freezer: Make fake_signal_wake_up() wake TASK_KILLABLE tasks too"
      
      Commit 27920651 "PM / Freezer: Make fake_signal_wake_up() wake
      TASK_KILLABLE tasks too" updated fake_signal_wake_up() used by freezer
      to wake up KILLABLE tasks.  Sending unsolicited wakeups to tasks in
      killable sleep is dangerous as there are code paths which depend on
      tasks not waking up spuriously from KILLABLE sleep.
      
      For example. sys_read() or page can sleep in TASK_KILLABLE assuming
      that wait/down/whatever _killable can only fail if we can not return
      to the usermode.  TASK_TRACED is another obvious example.
      
      The previous patch updated wait_event_freezekillable() such that it
      doesn't depend on the spurious wakeup.  This patch reverts the
      offending commit.
      
      Note that the spurious KILLABLE wakeup had other implicit effects in
      KILLABLE sleeps in nfs and cifs and those will need further updates to
      regain freezekillable behavior.
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      d6cc7685
    • Oleg Nesterov's avatar
      PM / Freezer: Reimplement wait_event_freezekillable using freezer_do_not_count/freezer_count · 6f35c4ab
      Oleg Nesterov authored
      Commit 27920651 "PM / Freezer: Make fake_signal_wake_up() wake
      TASK_KILLABLE tasks too" updated fake_signal_wake_up() used by freezer
      to wake up KILLABLE tasks.  Sending unsolicited wakeups to tasks in
      killable sleep is dangerous as there are code paths which depend on
      tasks not waking up spuriously from KILLABLE sleep.
      
      For example. sys_read() or page can sleep in TASK_KILLABLE assuming
      that wait/down/whatever _killable can only fail if we can not return
      to the usermode.  TASK_TRACED is another obvious example.
      
      The offending commit was to resolve freezer hang during system PM
      operations caused by KILLABLE sleeps in network filesystems.
      wait_event_freezekillable(), which depends on the spurious KILLABLE
      wakeup, was added by f06ac72e "cifs, freezer: add
      wait_event_freezekillable and have cifs use it" to be used to
      implement killable & freezable sleeps in network filesystems.
      
      To prepare for reverting of 27920651, this patch reimplements
      wait_event_freezekillable() using freezer_do_not_count/freezer_count()
      so that it doesn't depend on the spurious KILLABLE wakeup.  This isn't
      very nice but should do for now.
      
      [tj: Refreshed patch to apply to linus/master and updated commit
          description on Rafael's request.]
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      6f35c4ab
    • Alan Stern's avatar
      USB: Update last_busy time after autosuspend fails · b2c0a863
      Alan Stern authored
      Originally, the runtime PM core would send an idle notification
      whenever a suspend attempt failed.  The idle callback routine could
      then schedule a delayed suspend for some time later.
      
      However this behavior was changed by commit
      f71648d7 (PM / Runtime: Remove idle
      notification after failing suspend).  No notifications were sent, and
      there was no clear mechanism to retry failed suspends.
      
      This caused problems for the usbhid driver, because it fails
      autosuspend attempts as long as a key is being held down.  A companion
      patch changes the PM core's behavior, but we also need to change the
      USB core.  In particular, this patch (as1493) updates the device's
      last_busy time when an autosuspend fails, so that the PM core will
      retry the autosuspend in the future when the delay time expires
      again.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarHenrik Rydberg <rydberg@euromail.se>
      Cc: <stable@kernel.org>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      b2c0a863
    • Alan Stern's avatar
      PM / Runtime: Automatically retry failed autosuspends · 886486b7
      Alan Stern authored
      Originally, the runtime PM core would send an idle notification
      whenever a suspend attempt failed.  The idle callback routine could
      then schedule a delayed suspend for some time later.
      
      However this behavior was changed by commit
      f71648d7 (PM / Runtime: Remove idle
      notification after failing suspend).  No notifications were sent, and
      there was no clear mechanism to retry failed suspends.
      
      This caused problems for the usbhid driver, because it fails
      autosuspend attempts as long as a key is being held down.  Therefore
      this patch (as1492) adds a mechanism for retrying failed
      autosuspends.  If the callback routine updates the last_busy field so
      that the next autosuspend expiration time is in the future, the
      autosuspend will automatically be rescheduled.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Tested-by: default avatarHenrik Rydberg <rydberg@euromail.se>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      886486b7
    • Guennadi Liakhovetski's avatar
      PM / QoS: Remove redundant check · 6513fd69
      Guennadi Liakhovetski authored
      Remove an "if" check, that repeats an equivalent one 6 lines above.
      Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      6513fd69
    • Tony Lindgren's avatar
      PM / OPP: Fix build when CONFIG_PM_OPP is not set · a96d69d1
      Tony Lindgren authored
      Commit 03ca370f (PM / OPP: Add
      OPP availability change notifier) does not compile if CONFIG_PM_OPP
      is not set:
      
      arch/arm/plat-omap/omap-pm-noop.o: In function `opp_get_notifier':
      include/linux/opp.h:103: multiple definition of `opp_get_notifier'
      include/linux/opp.h:103: first defined here
      
      Also fix incorrect comment.
      Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
      Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
      a96d69d1