.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * This file contains the major functions in WLAN |
---|
3 | 4 | * driver. It includes init, exit, open, close and main |
---|
.. | .. |
---|
720 | 721 | * lbs_cmd_timeout_handler - handles the timeout of command sending. |
---|
721 | 722 | * It will re-send the same command again. |
---|
722 | 723 | * |
---|
723 | | - * @data: &struct lbs_private pointer |
---|
| 724 | + * @t: Context from which to retrieve a &struct lbs_private pointer |
---|
724 | 725 | */ |
---|
725 | 726 | static void lbs_cmd_timeout_handler(struct timer_list *t) |
---|
726 | 727 | { |
---|
.. | .. |
---|
754 | 755 | * to the hardware. This is known to frequently happen with SD8686 when |
---|
755 | 756 | * waking up after a Wake-on-WLAN-triggered resume. |
---|
756 | 757 | * |
---|
757 | | - * @data: &struct lbs_private pointer |
---|
| 758 | + * @t: Context from which to retrieve a &struct lbs_private pointer |
---|
758 | 759 | */ |
---|
759 | 760 | static void lbs_tx_lockup_handler(struct timer_list *t) |
---|
760 | 761 | { |
---|
.. | .. |
---|
776 | 777 | /** |
---|
777 | 778 | * auto_deepsleep_timer_fn - put the device back to deep sleep mode when |
---|
778 | 779 | * timer expires and no activity (command, event, data etc.) is detected. |
---|
779 | | - * @data: &struct lbs_private pointer |
---|
| 780 | + * @t: Context from which to retrieve a &struct lbs_private pointer |
---|
780 | 781 | * returns: N/A |
---|
781 | 782 | */ |
---|
782 | 783 | static void auto_deepsleep_timer_fn(struct timer_list *t) |
---|
.. | .. |
---|
907 | 908 | struct net_device *dev; |
---|
908 | 909 | struct wireless_dev *wdev; |
---|
909 | 910 | struct lbs_private *priv = NULL; |
---|
| 911 | + int err; |
---|
910 | 912 | |
---|
911 | 913 | /* Allocate an Ethernet device and register it */ |
---|
912 | 914 | wdev = lbs_cfg_alloc(dmdev); |
---|
913 | 915 | if (IS_ERR(wdev)) { |
---|
| 916 | + err = PTR_ERR(wdev); |
---|
914 | 917 | pr_err("cfg80211 init failed\n"); |
---|
915 | | - goto done; |
---|
| 918 | + goto err_cfg; |
---|
916 | 919 | } |
---|
917 | 920 | |
---|
918 | 921 | wdev->iftype = NL80211_IFTYPE_STATION; |
---|
919 | 922 | priv = wdev_priv(wdev); |
---|
920 | 923 | priv->wdev = wdev; |
---|
921 | 924 | |
---|
922 | | - if (lbs_init_adapter(priv)) { |
---|
| 925 | + err = lbs_init_adapter(priv); |
---|
| 926 | + if (err) { |
---|
923 | 927 | pr_err("failed to initialize adapter structure\n"); |
---|
924 | 928 | goto err_wdev; |
---|
925 | 929 | } |
---|
926 | 930 | |
---|
927 | 931 | dev = alloc_netdev(0, "wlan%d", NET_NAME_UNKNOWN, ether_setup); |
---|
928 | 932 | if (!dev) { |
---|
| 933 | + err = -ENOMEM; |
---|
929 | 934 | dev_err(dmdev, "no memory for network device instance\n"); |
---|
930 | 935 | goto err_adapter; |
---|
931 | 936 | } |
---|
.. | .. |
---|
949 | 954 | init_waitqueue_head(&priv->waitq); |
---|
950 | 955 | priv->main_thread = kthread_run(lbs_thread, dev, "lbs_main"); |
---|
951 | 956 | if (IS_ERR(priv->main_thread)) { |
---|
| 957 | + err = PTR_ERR(priv->main_thread); |
---|
952 | 958 | lbs_deb_thread("Error creating main thread.\n"); |
---|
953 | 959 | goto err_ndev; |
---|
954 | 960 | } |
---|
.. | .. |
---|
961 | 967 | priv->wol_gap = 20; |
---|
962 | 968 | priv->ehs_remove_supported = true; |
---|
963 | 969 | |
---|
964 | | - goto done; |
---|
| 970 | + return priv; |
---|
965 | 971 | |
---|
966 | 972 | err_ndev: |
---|
967 | 973 | free_netdev(dev); |
---|
.. | .. |
---|
972 | 978 | err_wdev: |
---|
973 | 979 | lbs_cfg_free(priv); |
---|
974 | 980 | |
---|
975 | | - priv = NULL; |
---|
976 | | - |
---|
977 | | -done: |
---|
978 | | - return priv; |
---|
| 981 | + err_cfg: |
---|
| 982 | + return ERR_PTR(err); |
---|
979 | 983 | } |
---|
980 | 984 | EXPORT_SYMBOL_GPL(lbs_add_card); |
---|
981 | 985 | |
---|
.. | .. |
---|
1042 | 1046 | int lbs_start_card(struct lbs_private *priv) |
---|
1043 | 1047 | { |
---|
1044 | 1048 | struct net_device *dev = priv->dev; |
---|
1045 | | - int ret = -1; |
---|
| 1049 | + int ret; |
---|
1046 | 1050 | |
---|
1047 | 1051 | /* poke the firmware */ |
---|
1048 | 1052 | ret = lbs_setup_firmware(priv); |
---|