Bug 12514

Summary: WARNING: at fs/proc/generic.c - duplicate "VID" device - Fujitsu-Siemens Computers Amilo Pa 3553 ZM80
Product: ACPI Reporter: Jaroslav Petráš (jaroslav.petras)
Component: Power-VideoAssignee: ykzhao (yakui.zhao)
Status: CLOSED PATCH_ALREADY_AVAILABLE    
Severity: normal CC: acpi-bugzilla
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 2.6.29-rc2 Subsystem:
Regression: --- Bisected commit-id:
Attachments: dmesg output - 2.6.29-rc2.mobileworkshop
acpidump - 2.6.28.1
dmesg output - 2.6.28.1
patch: hack to fix the issue of duplicated "VGA" name
lspci -k

Description Jaroslav Petráš 2009-01-20 06:59:36 UTC
Latest working kernel version: ? ( I had this issue in 2.6.26 distrib. kernel too and in self-compiled vanilla kernels 2.6.2{7,8,9}. Always reproducible) 
Earliest failing kernel version: 2.6.29-rc2
Distribution: Debian
Hardware Environment: Fujitsu-Siemens Computers Amilo Pa 3553 ZM80 (laptop)
Problem Description: Warning


[    6.815251] ACPI: WMI: Mapper loaded                                                                                                                                   
[    6.851513] acpi device:06: registered as cooling_device2                                                                                                              
[    6.852047] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:01/device:03/input/input6                                                             
[    6.867082] ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)                                                                                              
[    6.867197] ------------[ cut here ]------------                                                                                                                       
[    6.867263] WARNING: at fs/proc/generic.c:551 proc_register+0x146/0x17d()                                                                                              
[    6.867323] proc_dir_entry 'video/VGA' already registered                                                                                                              
[    6.867382] Modules linked in: video(+) output wmi shpchp evdev usbhid hid sg ehci_hcd ohci_hcd sr_mod cdrom sdhci_pci sdhci sd_mod ohci1394 mmc_core ieee1394         
[    6.868445] Pid: 1395, comm: modprobe Not tainted 2.6.28.1.mobileworkshop #1                                                                                           
[    6.868505] Call Trace:                                                                                                                                                
[    6.868567]  [<ffffffff8023480a>] warn_slowpath+0xb4/0xda                                                                                                              
[    6.868628]  [<ffffffff8038abaa>] acpi_ns_lookup+0x23a/0x36b                                                                                                           
[    6.868689]  [<ffffffff80249b08>] up+0xe/0x36                                                                                                                          
[    6.868748]  [<ffffffff8038c33e>] acpi_ns_get_node+0x92/0x9f                                                                                                           
[    6.868809]  [<ffffffff80393b3e>] acpi_ut_update_object_reference+0xdf/0x159                                                                                           
[    6.868870]  [<ffffffff80249b08>] up+0xe/0x36                                                                                                                          
[    6.868929]  [<ffffffff803577e6>] ida_get_new_above+0x188/0x1a9                                                                                                        
[    6.868990]  [<ffffffff8035791c>] idr_pre_get+0x53/0x66                                                                                                                
[    6.869063]  [<ffffffff802d5496>] proc_register+0x146/0x17d                                                                                                            
[    6.869123]  [<ffffffff803c2143>] get_device+0x17/0x1f                                                                                                                 
[    6.869184]  [<ffffffff802d568f>] proc_mkdir_mode+0x3c/0x51                                                                                                            
[    6.869248]  [<ffffffffa00b0692>] acpi_video_bus_add+0x1ec/0xd36 [video]                                                                                               
[    6.869314]  [<ffffffff802dd44d>] __sysfs_add_one+0x16/0x9e                                                                                                            
[    6.869375]  [<ffffffff803972e2>] acpi_device_probe+0x46/0x87                                                                                                          
[    6.869436]  [<ffffffff803c4e6e>] driver_probe_device+0xb5/0x159                                                                                                       
[    6.869497]  [<ffffffff803c4f6b>] __driver_attach+0x59/0x80                                                                                                            
[    6.869557]  [<ffffffff803c4f12>] __driver_attach+0x0/0x80                                                                                                             
[    6.869617]  [<ffffffff803c4787>] bus_for_each_dev+0x44/0x78                                                                                                           
[    6.869677]  [<ffffffff803c410d>] bus_add_driver+0xac/0x1f2                                                                                                            
[    6.869737]  [<ffffffff803c5130>] driver_register+0xa2/0x11f                                                                                                           
[    6.869799]  [<ffffffffa00b6000>] acpi_video_init+0x0/0x5f [video]                                                                                                     
[    6.869861]  [<ffffffffa00b6000>] acpi_video_init+0x0/0x5f [video]                                                                                                     
[    6.869922]  [<ffffffffa00b603c>] acpi_video_init+0x3c/0x5f [video]                                                                                                    
[    6.869983]  [<ffffffff80209056>] _stext+0x56/0x14f                                                                                                                    
[    6.870055]  [<ffffffff8027f34d>] vma_link+0x74/0x99                                                                                                                   
[    6.870116]  [<ffffffff80256205>] sys_init_module+0xa0/0x1a9                                                                                                           
[    6.870176]  [<ffffffff8020b23b>] system_call_fastpath+0x16/0x1b                                                                                                       
[    6.870236] ---[ end trace e3ecd7b7751a4e25 ]---                                                                                                                       
[    6.882886] acpi device:33: registered as cooling_device3                                                                                                              
[    6.884981] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/device:2f/device:30/input/input7                                                             
[    6.893479] ACPI: Video Device [VGA] (multi-head: yes  rom: no  post: no)
Comment 1 ykzhao 2009-01-20 17:22:49 UTC
Will you please attach the output of acpidump, dmesg on the failing kernel?(2.6.29-rc2)
Thanks.
Comment 2 Jaroslav Petráš 2009-01-20 19:21:34 UTC
Created attachment 19915 [details]
dmesg output - 2.6.29-rc2.mobileworkshop

Of course, but I can't get output from acpidump with this kernel version. (oops in pageattr.c as you can see in dmesg). I will post dmesg again with output from acpidump later under 2.6.28.1.
Comment 3 Jaroslav Petráš 2009-01-21 05:41:10 UTC
Created attachment 19922 [details]
acpidump - 2.6.28.1
Comment 4 Jaroslav Petráš 2009-01-21 05:41:52 UTC
Created attachment 19923 [details]
dmesg output - 2.6.28.1
Comment 5 ykzhao 2009-01-21 22:40:01 UTC
Hi, Jaroslav
    Thanks for the info.
    From the acpidump it seems that two ACPI video devices have the same device name (VGA). This is similar to that on the T61 (Two video devices have the same name: VID).  There is a workaround patch for the T61. 
    In fact after the following commit is shipped, the acpi video device will be registered only when the corresponding PCI device exists. In such case this issue will disappear.
    > commit 22c13f9d8179f4c9caecfcb60a95214562b9addc
    > Author: Thomas Renninger <trenn@suse.de>
    > Date:   Fri Aug 1 17:37:54 2008 +0200
     >ACPI: video: Ignore devices that aren't present in hardware

    Of course if one box has two video cards, this issue will still be complained. 
    
    Will you please confirm whether there exist two video cards on your box?
    Thanks.
    
Comment 6 ykzhao 2009-01-21 22:53:07 UTC
Created attachment 19933 [details]
patch: hack to fix the issue of duplicated "VGA" name

Will you please try the debug patch and see whether the issue still exists?
   Please attach the output of dmesg, lspci.
   Thanks.
Comment 7 Jaroslav Petráš 2009-01-21 22:58:54 UTC
Created attachment 19934 [details]
lspci -k

Hello, thanks for quick respond.

Yes, I can confirm that. I have two video cards. Primary display device is Radeon HD3470 (discrete), secondary is Radeon HD3200 (integrated). Platform is AMD Puma, so I have Hybrid CrossFireX.

Sometimes I am happy with HD3470 as primary display device, but rarely (when running on battery) it would be better to have low-performance card enabled. But I didn't find any solution how can I switch it. Second device always appears as disabled device. Even with fact that system detects it.

Some additional info you can find in attachment.
Comment 8 ykzhao 2009-01-21 23:29:39 UTC
Thanks for the confirm.
   As there exist two video cards, the both ACPI video devices will be registered. At the same time they have the same name. In such case it will complain the following warning message:
   > proc_dir_entry 'video/VGA' already registered
   How about the hack patch? But I don't know whether this can go into upstream kernel. It is too ugly.
   thanks.
Comment 9 Jaroslav Petráš 2009-01-21 23:45:35 UTC
Nice, very nice. Resolved.

Is there anything else that I can do? :) 
Comment 10 Jaroslav Petráš 2009-01-21 23:47:23 UTC
Uff, I forget to say thank you. Thank you.
Comment 11 ykzhao 2009-01-22 16:40:00 UTC
Hi, Jaroslav
    Thanks for the test. 
    I will try to push the patch in comment #6 into upstream kernel although it is very ugly.
    So the mark will be marked as resolved.
    Thanks again.
Comment 12 Len Brown 2009-02-02 19:55:15 UTC
patch in comment #6 applied to acpi tree
i couldn't find a reason not to, since we have the same wart for the t61.

i guess the thing to look forward to is when /proc/acpi/video/
gets deleted entirely.
Comment 13 Len Brown 2009-02-21 09:29:06 UTC
f3b39f1393d5cebe56f43a584ef47efbebd2702c
ACPI: proc_dir_entry 'video/VGA' already registered
shipped in linux-2.6.29-rc4
closed.