kernel_optimize_test/drivers
Bruno Prémont c267fd777a viafb: fix releasing of /proc/viafb/ subtree
When unloading viafb module it does not remove it's /proc/viafb/ subtree
which causes multiple viafb directories to appear below proc when
mobprobing viafb and also lets kernel WARN() on duplicate proc entries:

[  145.458387] WARNING: at /usr/src/linux-2.6.28-rc3-git6/fs/proc/generic.c:551 proc_register+0xe6/0x160()
[  145.458945] proc_dir_entry '/proc/viafb' already registered
[  145.459278] Modules linked in: viafb(+) i2c_algo_bit cfbcopyarea cfbimgblt cfbfillrect snd_hda_intel snd_pcm snd_timer snd soundcore snd_page_alloc sg via_agp agpgart [last unloaded: drm]
[  145.460647] Pid: 1904, comm: modprobe Tainted: G        W  2.6.28-rc3-git6 #4
[  145.461064] Call Trace:
[  145.461248]  [<c01066f1>] ? dump_stack+0x1/0x80
[  145.461533]  [<c01228a3>] warn_slowpath+0x63/0x80
[  145.461851]  [<c0253ec9>] ? idr_get_empty_slot+0xe9/0x250
[  145.462186]  [<c0254120>] ? ida_get_new_above+0xf0/0x150
[  145.462528]  [<c019fb86>] proc_register+0xe6/0x160
[  145.462827]  [<c019fdc6>] proc_mkdir_mode+0x36/0x50
[  145.463135]  [<c019fdef>] proc_mkdir+0xf/0x20
[  145.463457]  [<f807173c>] viafb_init+0x73c/0xc86 [viafb]
[  145.463823]  [<f8071000>] ? viafb_init+0x0/0xc86 [viafb]
[  145.464147]  [<c010111d>] do_one_initcall+0x2d/0x160
[  145.464460]  [<c01a6543>] ? sysfs_add_file+0x13/0x20
[  145.464786]  [<c015f031>] ? vfree+0x21/0x30
[  145.465049]  [<c01433b5>] ? load_module+0x1215/0x1500
[  145.465381]  [<c014e455>] ? __alloc_pages_internal+0x95/0x400
[  145.465755]  [<c0143723>] sys_init_module+0x83/0x1a0
[  145.466065]  [<c016ceed>] ? sys_read+0x3d/0x70
[  145.466354]  [<c0103bc1>] sysenter_do_call+0x12/0x25
[  145.466653] ---[ end trace c84b37826e16748c ]---

Signed-off-by: Bruno Prémont <bonbons@linux-vserver.org>
Cc: <JosephChan@via.com.tw>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-11-19 18:49:58 -08:00
..
accessibility
acpi acpi: fix oops in acpi_system_wakeup_device_seq_show 2008-11-16 10:09:34 -08:00
amba
ata libata: improve phantom device detection 2008-11-14 18:51:57 -05:00
atm
auxdisplay
base
block Release old elevator on change elevator 2008-11-18 15:08:56 +01:00
bluetooth
cdrom
char Merge branch 'doc-subdirs' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs 2008-11-15 11:51:03 -08:00
clocksource
connector
cpufreq
cpuidle regression: disable timer peek-ahead for 2.6.28 2008-11-09 16:28:42 -08:00
crypto
dca [4/4] dca: fixup initialization dependency 2008-11-10 15:01:03 -08:00
dio
dma dmaengine: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-11 13:12:33 -07:00
edac i5000-edac: hold reference to mci kobject 2008-11-12 17:17:16 -08:00
eisa
firewire
firmware
gpio gpiolib: extend gpio label column width in debugfs file 2008-11-19 18:49:57 -08:00
gpu drm/i915: Move legacy breadcrumb out of the reserved status page area 2008-11-11 18:03:28 +10:00
hid HID: don't grab devices with no input 2008-11-14 14:10:01 +01:00
hwmon hwmon: applesmc: Add support for iMac 6 2008-11-19 18:49:57 -08:00
i2c i2c: fix i2c-sh_mobile rx underrun 2008-11-13 15:37:07 +09:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-2.6 2008-11-15 18:58:37 -08:00
idle
ieee1394
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2008-11-12 10:56:31 -08:00
input
isdn isdn: remove extra byteswap in isdn_net_ciscohdlck_slarp_send_reply 2008-11-16 23:03:45 -08:00
leds
lguest
macintosh
mca
md dm: avoid destroying table in dm_any_congested 2008-11-13 23:39:14 +00:00
media V4L/DVB (9624): CVE-2008-5033: fix OOPS on tvaudio when controlling bass/treble 2008-11-14 14:39:47 -02:00
memstick
message
mfd mfd: Correct WM8350 I2C return code usage 2008-11-16 19:58:47 +01:00
misc GRU: fix for debug option 2008-11-19 18:49:57 -08:00
mmc mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2008-11-08 21:37:46 +01:00
mtd [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constants 2008-11-13 15:05:03 +00:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-11-17 07:53:25 -08:00
nubus
of
oprofile
parisc
parport Parport driver: disable pc-style parport on Blackfin systems 2008-11-18 08:10:08 -08:00
pci PCI: ignore bit0 of _OSC return code 2008-11-11 13:33:05 -08:00
pcmcia pcmcia: ensure correct logging in do_io_probe 2008-11-09 21:47:47 +01:00
pnp
power
ps3
rapidio
regulator regulator: Use menuconfig in Kconfig 2008-11-09 14:49:23 +00:00
rtc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 2008-11-17 07:54:47 -08:00
s390 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 2008-11-15 11:38:02 -08:00
sbus
scsi [SCSI] dpt_i2o: fix transferred data length for scsi_set_resid() 2008-11-15 11:10:14 -06:00
serial serial: sh-sci: Reorder the SCxTDR write after the TDxE clear. 2008-11-13 17:46:06 +09:00
sh
sn
spi pxa2xx_spi: bugfix full duplex dma data corruption 2008-11-19 18:49:58 -08:00
ssb SSB: hide empty sub menu 2008-11-10 13:50:17 -08:00
staging Don't ask twice about not including staging drivers 2008-11-09 12:47:04 -08:00
tc
telephony telephony: trivial: fix up email address 2008-11-11 09:30:23 -08:00
thermal
uio
usb USB: gadget: cdc-acm deadlock fix 2008-11-13 14:45:06 -08:00
uwb
video viafb: fix releasing of /proc/viafb/ subtree 2008-11-19 18:49:58 -08:00
virtio
w1 hdq: bQ27000 HDQ Slave Interface Driver 2008-11-12 17:17:18 -08:00
watchdog Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-11-11 09:24:31 -08:00
xen
zorro
Kconfig
Makefile