diff options
Diffstat (limited to 'package/kernel/mac80211/patches/653-0003-rtl8xxxu-Fix-error-handling-if-rtl8xxxu_init_device-.patch')
-rw-r--r-- | package/kernel/mac80211/patches/653-0003-rtl8xxxu-Fix-error-handling-if-rtl8xxxu_init_device-.patch | 67 |
1 files changed, 0 insertions, 67 deletions
diff --git a/package/kernel/mac80211/patches/653-0003-rtl8xxxu-Fix-error-handling-if-rtl8xxxu_init_device-.patch b/package/kernel/mac80211/patches/653-0003-rtl8xxxu-Fix-error-handling-if-rtl8xxxu_init_device-.patch deleted file mode 100644 index d19f48f..0000000 --- a/package/kernel/mac80211/patches/653-0003-rtl8xxxu-Fix-error-handling-if-rtl8xxxu_init_device-.patch +++ /dev/null @@ -1,67 +0,0 @@ -From deb6176e561324884652dd6a49a862bd8b152959 Mon Sep 17 00:00:00 2001 -From: Jes Sorensen <Jes.Sorensen@redhat.com> -Date: Fri, 19 Aug 2016 17:46:25 -0400 -Subject: [PATCH] rtl8xxxu: Fix error handling if rtl8xxxu_init_device() fails - -For some reason we lost the code bailing if rtl8xxxu_init_device() -returned an error. - -This catches the error and also cleans up the error handling. - -Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com> -Signed-off-by: Kalle Valo <kvalo@codeaurora.org> ---- - .../net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 20 +++++++++++++++++--- - 1 file changed, 17 insertions(+), 3 deletions(-) - ---- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c -+++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c -@@ -5947,7 +5947,7 @@ static int rtl8xxxu_probe(struct usb_int - struct ieee80211_hw *hw; - struct usb_device *udev; - struct ieee80211_supported_band *sband; -- int ret = 0; -+ int ret; - int untested = 1; - - udev = usb_get_dev(interface_to_usbdev(interface)); -@@ -5995,6 +5995,7 @@ static int rtl8xxxu_probe(struct usb_int - hw = ieee80211_alloc_hw(sizeof(struct rtl8xxxu_priv), &rtl8xxxu_ops); - if (!hw) { - ret = -ENOMEM; -+ priv = NULL; - goto exit; - } - -@@ -6043,6 +6044,8 @@ static int rtl8xxxu_probe(struct usb_int - } - - ret = rtl8xxxu_init_device(hw); -+ if (ret) -+ goto exit; - - hw->wiphy->max_scan_ssids = 1; - hw->wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN; -@@ -6093,9 +6096,20 @@ static int rtl8xxxu_probe(struct usb_int - goto exit; - } - -+ return 0; -+ - exit: -- if (ret < 0) -- usb_put_dev(udev); -+ usb_set_intfdata(interface, NULL); -+ -+ if (priv) { -+ kfree(priv->fw_data); -+ mutex_destroy(&priv->usb_buf_mutex); -+ mutex_destroy(&priv->h2c_mutex); -+ } -+ usb_put_dev(udev); -+ -+ ieee80211_free_hw(hw); -+ - return ret; - } - |