media: atomisp: Make pointer to PMIC client global
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 26 Jun 2020 12:19:21 +0000 (14:19 +0200)
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>
Sat, 18 Jul 2020 05:22:25 +0000 (07:22 +0200)
commit2e31e6f89c728ddbfc803f213823917dc705c330
tree5f47a73526af0a9e932c4a1590ee2267da0b950a
parent0f46ab461e3a15ba6f9c5e0c12233b3339abc42e
media: atomisp: Make pointer to PMIC client global

When we enumerate second device when PMIC has been successfully detected
to AXP, we got into troubles dereferencing NULL pointer. It seems
we have to detect PMIC only once because pmic_id is a global variable
and code doesn't expect the change of it: Two PMICs on one platform?
It's impossible.

Crash excerpt:
[   34.335237] BUG: kernel NULL pointer dereference, address: 0000000000000002
...
[   35.652036] RIP: 0010:gmin_subdev_add.cold+0x32f/0x33e [atomisp_gmin_platform]

So, as a quick fix make power a global variable. In next patches we move
PMIC detection to be more independent from subdevices.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
drivers/staging/media/atomisp/pci/atomisp_gmin_platform.c