diff options
author | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2022-01-12 13:42:05 +0800 |
---|---|---|
committer | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2022-01-19 07:31:16 +0000 |
commit | ef22de835ccf8c7c394dbd601c0ca1d7a4ab1681 (patch) | |
tree | 7778be0f72af959cf1e6ec2c486cebb3aca9b44e | |
parent | 14b0aff36d9cbc8664b2a0bbdeb4db97e850ee9a (diff) | |
download | cnss2-ef22de835ccf8c7c394dbd601c0ca1d7a4ab1681.tar.gz |
wcn6740: initialize sscd platform device before register
cnss_pci probe will retry when probe fails. Because the sscd
platform device is defined as a static variable, we need to
initialize the sscd platform device before registering to
prevent using corrupted data.
Bug: 213957306
Test: Device can boot after reprobe
Change-Id: Id767ef9f63e7f41263a9ef962fe1ddf0e2baef7d
-rw-r--r-- | cnss2/pci_platform_google.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cnss2/pci_platform_google.c b/cnss2/pci_platform_google.c index 869eac0..6266f58 100644 --- a/cnss2/pci_platform_google.c +++ b/cnss2/pci_platform_google.c @@ -206,6 +206,13 @@ static struct platform_device sscd_dev = { void cnss_register_sscd(void) { + memset(&sscd_pdata, 0, sizeof(struct sscd_platform_data)); + memset(&sscd_dev, 0, sizeof(struct platform_device)); + sscd_dev.name = DEVICE_NAME; + sscd_dev.driver_override = SSCD_NAME; + sscd_dev.id = -1; + sscd_dev.dev.platform_data = &sscd_pdata; + sscd_dev.dev.release = sscd_release; platform_device_register(&sscd_dev); } |