• John W. Linville's avatar
    ipw2100: register pm_qos request before registering pci driver · 2f81b471
    John W. Linville authored
    It is necessary to call pm_qos_add_request prior to calling
    pm_qos_update_request.  It was revealed that ipw2100 has been
    doing this wrong since "pm_qos: Get rid of the allocation in
    pm_qos_add_request()" (commit 82f68251)
    added a WARN that results in the following backtrace:
    
    WARNING: at kernel/pm_qos_params.c:264 pm_qos_update_request+0x5e/0x70()
    pm_qos_update_request() called for unknown object
    Call Trace:
    [<c1024088>] ? warn_slowpath_common+0x78/0xb0
    [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
    [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
    [<c1024153>] ? warn_slowpath_fmt+0x33/0x40
    [<c1041c9e>] ? pm_qos_update_request+0x5e/0x70
    [<f89fe15f>] ? ipw2100_up+0x3f/0xf10 [ipw2100]
    [<c11961c9>] ? vsnprintf+0xc9/0x530
    [<f89ff36c>] ? ipw2100_net_init+0x2c/0x1c0 [ipw2100]
    [<c12f542d>] ? register_netdevice+0x7d/0x3c0
    [<f89f9b00>] ? ipw2100_irq_tasklet+0x910/0x9a0 [ipw2100]
    [<c12f579f>] ? register_netdev+0x2f/0x40
    [<f89fd471>] ? ipw2100_pci_init_one+0xd21/0x1060 [ipw2100]
    [<c11a5ebb>] ? local_pci_probe+0xb/0x10
    [<c11a6d49>] ? pci_device_probe+0x69/0x90
    [<c1224704>] ? driver_probe_device+0x74/0x180
    [<c10dd15a>] ? sysfs_create_dir+0x6a/0xb0
    [<c1224889>] ? __driver_attach+0x79/0x80
    [<c1224810>] ? __driver_attach+0x0/0x80
    [<c1223fa2>] ? bus_for_each_dev+0x52/0x80
    [<c1224586>] ? driver_attach+0x16/0x20
    [<c1224810>] ? __driver_attach+0x0/0x80
    [<c122395f>] ? bus_add_driver+0x17f/0x250
    [<c11a5ec0>] ? pci_device_shutdown+0x0/0x20
    [<c11a6c80>] ? pci_device_remove+0x0/0x40
    [<c1224b13>] ? driver_register+0x63/0x120
    [<c11a6f96>] ? __pci_register_driver+0x36/0xa0
    [<f84f9048>] ? ipw2100_init+0x48/0x67 [ipw2100]
    [<c1001122>] ? do_one_initcall+0x32/0x170
    [<c1087078>] ? __vunmap+0xb8/0xf0
    [<f84f9000>] ? ipw2100_init+0x0/0x67 [ipw2100]
    [<c10510c1>] ? sys_init_module+0x161/0x1000
    [<c108f847>] ? sys_close+0x67/0xe0
    [<c13647c1>] ? syscall_call+0x7/0xb
    
    This patch moves pm_qos_add_request prior to pci_register_driver in
    ipw2100 in order to avoid this problem.
    Reported-by: default avatarChristoph Fritz <chf.fritz@googlemail.com>
    Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
    2f81b471
ipw2100.c 228 KB