1. 04 12月, 2008 5 次提交
  2. 03 12月, 2008 29 次提交
  3. 02 12月, 2008 6 次提交
    • L
      Linux 2.6.28-rc7 · 061e41fd
      Linus Torvalds 提交于
      061e41fd
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · 0d815142
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (25 commits)
        em28xx: remove backward compat macro added on a previous fix
        V4L/DVB (9748): em28xx: fix compile warning
        V4L/DVB (9743): em28xx: fix oops audio
        V4L/DVB (9742): em28xx-alsa: implement another locking schema
        V4L/DVB (9732): sms1xxx: use new firmware for Hauppauge WinTV MiniStick
        V4L/DVB (9691): gspca: Move the video device to a separate area.
        V4L/DVB (9690): gspca: Lock the subdrivers via module_get/put.
        V4L/DVB (9689): gspca: Memory leak when disconnect while streaming.
        V4L/DVB (9668): em28xx: fix a race condition with hald
        V4L/DVB (9664): af9015: don't reconnect device in USB-bus
        V4L/DVB (9647): em28xx: void having two concurrent control URB's
        V4L/DVB (9646): em28xx: avoid allocating/dealocating memory on every control urb
        V4L/DVB (9645): em28xx: Avoid memory leaks if registration fails
        V4L/DVB (9639): Make dib0700 remote control support work with firmware v1.20
        V4L/DVB (9635): v4l: s2255drv fix firmware test on big-endian
        V4L/DVB (9634): Make sure the i2c gate is open before powering down tuner
        V4L/DVB (9632): make em28xx aux audio input work
        V4L/DVB (9631): Make s2api work for ATSC support
        V4L/DVB (9627): em28xx: Avoid i2c register error for boards without eeprom
        V4L/DVB (9608): Fix section mismatch warning for dm1105 during make
        ...
      0d815142
    • A
      drivers/gpu/drm/i915/i915_irq.c: fix warning · 9c84ba4e
      Andrew Morton 提交于
      drivers/gpu/drm/i915/i915_irq.c: In function 'i915_disable_pipestat':
      drivers/gpu/drm/i915/i915_irq.c:101: warning: control may reach end of non-void function 'i915_pipestat' being inlined
      
      Cc: Dave Airlie <airlied@linux.ie>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9c84ba4e
    • J
      i82875p_edac: fix module remove · 09a81269
      Jarkko Lavinen 提交于
      Fix module removal bugs of i82875p_edac.  Also i82975x_edac code seems to
      have the same module removal bugs as in i82875p_edac.
      
      The problems were:
      
      1. In module removal i82875p_remove_one() is never called.
      
         Variable i82875p_registered is newer changed from 1, which
         guarantees i82875p_remove_one() is not called (and even if it were
         called, it would be called in wrong order).
      
         As a result, the edac_mc workque is not stopped and keeps probing.
         If kernel debugging options are not enabled, user may not notice
         anything going wrong.
      
         if debugging options are enabled and I do "rmmod i82875p_edac", I
         get:
      
            edac debug: edac_pci_workq_function() checking
            BUG: unable to handle kernel paging request at f882d16f
            ...
            call trace:
             [<f8834df3>] ? edac_mc_workq_function+0x55/0x7e [edac_core]
             [<c0233974>] ? run_workqueue+0xd7/0x1a5
             [<c023392f>] ? run_workqueue+0x92/0x1a5
             [<f8834d9e>] ? edac_mc_workq_function+0x0/0x7e [edac_core]
             [<c0233af9>] ? worker_thread+0xb7/0xc3
             [<c0236a7b>] ? autoremove_wake_function+0x0/0x33
             [<c0233a42>] ? worker_thread+0x0/0xc3
             [<c0236809>] ? kthread+0x3b/0x61
             [<c02367ce>] ? kthread+0x0/0x61
             [<c0204587>] ? kernel_thread_helper+0x7/0x10
      
         Fix for this is to get rid of needles variable i82875p_registered
         altogether and run i82875p_remove_one() *before*
         pci_unregister_driver().
      
      2. edac_mc_del_mc() uses mci after freeing mci
      
         edac_mc_del_mc() calls calls edac_remove_sysfs_mci_device().  The
         kobject refcount of mci drops to 0 and mci is freed.  After this
         mci is accessed via debug print and i82875p_remove_one() still
         uses mci->pvt and tries to free mci again with edac_mc_free().
      
         The fix for this is add kobject_get(&mci->edac_mci_kobj) after
         edac_mc_alloc(). Then the mci is still available after returning
         from edac_mc_del_mc() with refcount 1, and mci->pvt is still
         available. When i82875p_remove_one() finally calls edac_mc_free(),
         this will cause kobject_put() and mci is released properly.
      Signed-off-by: NJarkko Lavinen <jlavi@iki.fi>
      Cc: Doug Thompson <norsk5@yahoo.com>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      09a81269
    • J
      i82875p_edac: fix overflow device resource setup · 307d1144
      Jarkko Lavinen 提交于
      When I do "modprobe i82875p_edac" on my Asus P4C800 MB on kernels 2.6.26
      or later, the module load fails due to BAR 0 collision.  On 2.6.25 the
      module loads just fine.
      
      The overflow device on the MB seems to be hidden and its resources are not
      allocated at normal PCI bus init.  Log shows the missing resource problem:
      
        EDAC DEBUG: i82875p_probe1()
        PCI: 0000:00:06.0 reg 10 32bit mmio: [fecf0000, fecf0fff]
        pci 0000:00:06.0: device not available because of BAR 0
      [0xfecf0000-0xfecf0fff] collisions
        EDAC i82875p: i82875p_setup_overfl_dev(): Failed to enable overflow
      device
      
      The patch below fixes this by calling pci_bus_assign_resources() after
      the overflow device is revealed and added to the bus. With this patch
      I am again able to load and use the module.
      Signed-off-by: NJarkko Lavinen <jlavi@iki.fi>
      Cc: Doug Thompson <norsk5@yahoo.com>
      Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      307d1144
    • D
      fbdev: fix FB console blanking · bca404af
      Dmitry Baryshkov 提交于
      The commit aef7db4b fixed the problem with
      recursive locking in fb blanking code if blank is caused by user setting
      the /sys/class/graphics/fb*/blank.  However this broke the fbcon timeout
      blanking.
      
      If you use a driver that defines ->fb_blank operation and at the same time
      that driver relies on other driver (e.g.  backlight or lcd class) to blank
      the screen, when the fbcon times out and tries to blank the fb, it will
      call only fb driver blanker and won't notify the other driver.  Thus FB
      output is disabled, but the screen isn't blanked.
      
      Restore fbcon blanking and at the same time apply the proper fix for the
      above problem: if fbcon_blank is called with FBINFO_FLAG_USEREVENT, we are
      already called through notification from fb_blank, thus we don't have to
      blank the fb again.
      Signed-off-by: NDmitry Baryshkov <dbaryshkov@gmail.com>
      Cc: Geert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      bca404af