1. 28 4月, 2008 16 次提交
  2. 25 4月, 2008 1 次提交
  3. 19 4月, 2008 1 次提交
  4. 16 4月, 2008 1 次提交
    • A
      fbdev: fix /proc/fb oops after module removal · c43f89c2
      Alexey Dobriyan 提交于
      /proc/fb is not removed during rmmod.
      
      Steps to reproduce:
      
      	modprobe fb
      	rmmod fb
      	ls /proc
      
      BUG: unable to handle kernel paging request at ffffffffa0094370
      IP: [<ffffffff802b92a1>] proc_get_inode+0x101/0x130
      PGD 203067 PUD 207063 PMD 17e758067 PTE 0
      Oops: 0000 [1] SMP
      last sysfs file: /sys/devices/pci0000:00/0000:00:1e.0/0000:05:02.0/resource
      CPU 1
      Modules linked in: nf_conntrack_irc xt_state iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack ip_tables x_tables vfat fat usbhid ehci_hcd uhci_hcd usbcore sr_mod cdrom [last unloaded: fb]
      Pid: 21205, comm: ls Not tainted 2.6.25-rc8-mm2 #14
      RIP: 0010:[<ffffffff802b92a1>]  [<ffffffff802b92a1>] proc_get_inode+0x101/0x130
      RSP: 0018:ffff81017c4bfc78  EFLAGS: 00010246
      RAX: 0000000000008000 RBX: ffff8101787f5470 RCX: 0000000048011ccc
      RDX: ffffffffa0094320 RSI: ffff810006ad43b0 RDI: ffff81017fc2cc00
      RBP: ffff81017e450300 R08: 0000000000000002 R09: ffff81017c5d1000
      R10: 0000000000000000 R11: 0000000000000246 R12: ffff81016b903a28
      R13: ffff81017f822020 R14: ffff81017c4bfd58 R15: ffff81017f822020
      FS:  00007f08e71696f0(0000) GS:ffff81017fc06480(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: ffffffffa0094370 CR3: 000000017e54a000 CR4: 00000000000006e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process ls (pid: 21205, threadinfo ffff81017c4be000, task ffff81017de48770)
      Stack:  ffff81017c5d1000 00000000ffffffea ffff81017e450300 ffffffff802bdd1e
       ffff81017f802258 ffff81017c4bfe48 ffff81016b903a28 ffff81017f822020
       ffff81017c4bfd48 ffffffff802b9ba0 ffff81016b903a28 ffff81017f802258
      Call Trace:
       [<ffffffff802bdd1e>] ? proc_lookup_de+0x8e/0x100
       [<ffffffff802b9ba0>] ? proc_root_lookup+0x20/0x60
       [<ffffffff802882a7>] ? do_lookup+0x1b7/0x210
       [<ffffffff8028883d>] ? __link_path_walk+0x53d/0x7f0
       [<ffffffff80295eb8>] ? mntput_no_expire+0x28/0x130
       [<ffffffff80288b4a>] ? path_walk+0x5a/0xc0
       [<ffffffff80288dd3>] ? do_path_lookup+0x83/0x1c0
       [<ffffffff80287785>] ? getname+0xe5/0x210
       [<ffffffff80289adb>] ? __user_walk_fd+0x4b/0x80
       [<ffffffff8028236c>] ? vfs_lstat_fd+0x2c/0x70
       [<ffffffff8028bf1e>] ? filldir+0xae/0xf0
       [<ffffffff802b92e9>] ? de_put+0x9/0x50
       [<ffffffff8029633d>] ? mnt_want_write+0x2d/0x80
       [<ffffffff8029339f>] ? touch_atime+0x1f/0x170
       [<ffffffff802b9b1d>] ? proc_root_readdir+0x7d/0xa0
       [<ffffffff802825e7>] ? sys_newlstat+0x27/0x50
       [<ffffffff8028bffb>] ? vfs_readdir+0x9b/0xd0
       [<ffffffff8028c0fe>] ? sys_getdents+0xce/0xe0
       [<ffffffff8020b39b>] ? system_call_after_swapgs+0x7b/0x80
      
      Code: b7 83 b2 00 00 00 25 00 f0 00 00 3d 00 80 00 00 74 19 48 89 93 f0 00 00 00 48 89 df e8 39 9a fd ff 48 89 d8 48 83 c4 08 5b 5d c3 <48> 83 7a 50 00 48 c7 c0 60 16 45 80 48 c7 c2 40 17 45 80 48 0f
      RIP  [<ffffffff802b92a1>] proc_get_inode+0x101/0x130
       RSP <ffff81017c4bfc78>
      CR2: ffffffffa0094370
      ---[ end trace c71hiarjan8ab739 ]---
      Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      "Antonino A. Daplas" <adaplas@pol.net>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c43f89c2
  5. 29 3月, 2008 2 次提交
  6. 20 3月, 2008 2 次提交
  7. 11 3月, 2008 8 次提交
  8. 06 3月, 2008 2 次提交
    • P
      fb: hitfb: Balance probe/remove section annotations. · 0f8afa7c
      Paul Mundt 提交于
      hitfb presently has probe using __init whilst remove uses __devexit.
      As this device can't possibly be hotplugged, switch to __exit and
      __exit_p() instead.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      0f8afa7c
    • P
      fb: pvr2fb: Fix up remaining section mismatch. · fcb1fec7
      Paul Mundt 提交于
      Building with CONFIG_DEBUG_SECTION_MISMATCH=y reports:
      
        CC      drivers/video/pvr2fb.o
        LD      drivers/video/built-in.o
      WARNING: drivers/video/built-in.o(.text+0xb9b0): Section mismatch in reference from the function pvr2fb_check_var() to the variable .devinit.data:pvr2_fix
      The function pvr2fb_check_var() references
      the variable __devinitdata pvr2_fix.
      This is often because pvr2fb_check_var lacks a __devinitdata
      annotation or the annotation of pvr2_fix is wrong.
      
      This is obviously crap as no such reference exists, but it's a bit
      closer to reality from older versions which blamed the PCI table. The
      real problem was a reference to pvr2_var.vmode from pvr2fb_check_var(),
      as pvr2_var is flagged as __devinitdata (pvr2_fix is also, so at least
      that part is right).
      
      pvr2_var.vmode is just a fancy way of saying FB_VMODE_NONINTERLACED, so
      we just reference that explicitly instead.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      fcb1fec7
  9. 05 3月, 2008 5 次提交
  10. 24 2月, 2008 2 次提交
    • S
      drivers/video/uvesafb.c: fix section mismatch warning in param_set_scroll() · 79306a34
      Sergio Luis 提交于
      Fix following warnings:
      WARNING: drivers/video/built-in.o(.text+0x7c64a): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c65d): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c679): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c699): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c69f): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa3676): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa3689): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa36a5): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa36c5): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa36cb): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a079a): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07ad): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07c9): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07e9): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07ef): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      
      Remove __devinitdata annotation from the variable ypan.
      Signed-off-by: NSergio Luis <sergio@larces.uece.br>
      Cc: Michal Januszewski <spock@gentoo.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      79306a34
    • R
      PM: Introduce PM_EVENT_HIBERNATE callback state · 3a2d5b70
      Rafael J. Wysocki 提交于
      During the last step of hibernation in the "platform" mode (with the
      help of ACPI) we use the suspend code, including the devices'
      ->suspend() methods, to prepare the system for entering the ACPI S4
      system sleep state.
      
      But at least for some devices the operations performed by the
      ->suspend() callback in that case must be different from its operations
      during regular suspend.
      
      For this reason, introduce the new PM event type PM_EVENT_HIBERNATE and
      pass it to the device drivers' ->suspend() methods during the last phase
      of hibernation, so that they can distinguish this case and handle it as
      appropriate.  Modify the drivers that handle PM_EVENT_SUSPEND in a
      special way and need to handle PM_EVENT_HIBERNATE in the same way.
      
      These changes are necessary to fix a hibernation regression related
      to the i915 driver (ref. http://lkml.org/lkml/2008/2/22/488).
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NPavel Machek <pavel@ucw.cz>
      Tested-by: NJeff Chua <jeff.chua.linux@gmail.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3a2d5b70