qcacld-3.0: Add pld code to handle hang event data info
Add code to handle hang event data and length received from platform driver through uevent. Change-Id: Ie4acf55cd7d2e602ad10eedbdeed045acfd85f56 CRs-fixed: 2650831
Esse commit está contido em:
@@ -156,6 +156,8 @@ struct pld_uevent_data {
|
||||
union {
|
||||
struct {
|
||||
bool crashed;
|
||||
void *hang_event_data;
|
||||
u16 hang_event_data_len;
|
||||
} fw_down;
|
||||
};
|
||||
};
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2016-2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
* any purpose with or without fee is hereby granted, provided that the
|
||||
@@ -240,12 +240,31 @@ static int pld_snoc_resume_noirq(struct device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 19, 0))
|
||||
static int pld_update_hang_evt_data(struct icnss_uevent_fw_down_data *evt_data,
|
||||
struct pld_uevent_data *data)
|
||||
{
|
||||
if (!evt_data || !data)
|
||||
return -EINVAL;
|
||||
|
||||
data->fw_down.hang_event_data = evt_data->hang_event_data;
|
||||
data->fw_down.hang_event_data_len = evt_data->hang_event_data_len;
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
static int pld_update_hang_evt_data(struct icnss_uevent_fw_down_data *evt_data,
|
||||
struct pld_uevent_data *data)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int pld_snoc_uevent(struct device *dev,
|
||||
struct icnss_uevent_data *uevent)
|
||||
{
|
||||
struct pld_context *pld_context;
|
||||
struct icnss_uevent_fw_down_data *uevent_data = NULL;
|
||||
struct pld_uevent_data data;
|
||||
struct pld_uevent_data data = {0};
|
||||
|
||||
pld_context = pld_get_global_context();
|
||||
if (!pld_context)
|
||||
@@ -267,6 +286,7 @@ static int pld_snoc_uevent(struct device *dev,
|
||||
uevent_data = (struct icnss_uevent_fw_down_data *)uevent->data;
|
||||
data.uevent = PLD_FW_DOWN;
|
||||
data.fw_down.crashed = uevent_data->crashed;
|
||||
pld_update_hang_evt_data(uevent_data, &data);
|
||||
break;
|
||||
default:
|
||||
goto out;
|
||||
|
Referência em uma nova issue
Block a user