diff options
| author | Yu Wang <yyuwang@codeaurora.org> | 2017-12-26 14:43:21 +0800 |
|---|---|---|
| committer | Yu Wang <yyuwang@codeaurora.org> | 2018-06-15 16:35:24 +0800 |
| commit | 63e0a765edf7d00e498e50795f22f9b9532a2ebd (patch) | |
| tree | bb6a3954d2f766f98a628fbdc6d7e55ddf3b071d /include | |
| parent | 9912a8c48b234943a431fc157d33d1c70356a3a0 (diff) | |
cnss: notify wlan driver when failed to power up
During SSR, if power-up fails, wlan driver will
enter ssr_in_progress state, which will block
driver unloading, it's not reasonable.
To improve this, notify wlan driver about the
failure, then driver unloading can be handled
properly according to this flag.
CRs-Fixed: 2246361
Change-Id: I669cc0137811a991c00ff9e73ebbb2bcf2d621a1
Signed-off-by: Yu Wang <yyuwang@codeaurora.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/cnss.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/include/net/cnss.h b/include/net/cnss.h index d6f27759af17..ea0082dc1219 100644 --- a/include/net/cnss.h +++ b/include/net/cnss.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2013-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2013-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -55,6 +55,7 @@ struct cnss_wlan_driver { int (*suspend)(struct pci_dev *pdev, pm_message_t state); int (*resume)(struct pci_dev *pdev); void (*modem_status)(struct pci_dev *, int state); + void (*update_status)(struct pci_dev *pdev, uint32_t status); struct cnss_wlan_runtime_ops *runtime_ops; const struct pci_device_id *id_table; }; @@ -93,11 +94,14 @@ struct cnss_platform_cap { u32 cap_flag; }; -/* WLAN driver status */ +/* WLAN driver status, keep it aligned with cnss2 */ enum cnss_driver_status { CNSS_UNINITIALIZED, CNSS_INITIALIZED, - CNSS_LOAD_UNLOAD + CNSS_LOAD_UNLOAD, + CNSS_RECOVERY, + CNSS_FW_DOWN, + CNSS_SSR_FAIL, }; enum cnss_runtime_request { |
