ipw2100: register pm_qos request before registering pci driver
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
82f682514a5df89ffb3890627eebf0897b7a84ec)
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: Christoph Fritz <chf.fritz@googlemail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>