summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2022-01-12 13:42:05 +0800
committerHsiu-Chang Chen <hsiuchangchen@google.com>2022-01-19 07:31:16 +0000
commitef22de835ccf8c7c394dbd601c0ca1d7a4ab1681 (patch)
tree7778be0f72af959cf1e6ec2c486cebb3aca9b44e
parent14b0aff36d9cbc8664b2a0bbdeb4db97e850ee9a (diff)
downloadcnss2-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.c7
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);
}