Message ID | 20170130214136.28170-1-Larry.Finger@lwfinger.net (mailing list archive) |
---|---|
State | Accepted |
Commit | 52f5631a4c056ad01682393be56d2be237e81610 |
Delegated to: | Kalle Valo |
Headers | show |
Larry Finger <Larry.Finger@lwfinger.net> writes: > From: Jurij Smakov <jurij@wooyd.org> > > In commit cf4747d7535a ("rtlwifi: Fix regression caused by commit > d86e64768859, an error in the edit results in the wrong firmware > being loaded for some models of the RTL8188/8192CE. In this condition, > the connection suffered from high ping latency, slow transfer rates, > and required higher signal strengths to work at all > > See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853073, > https://bugzilla.opensuse.org/show_bug.cgi?id=1017471, and > https://github.com/lwfinger/rtlwifi_new/issues/203 for descriptions > of the problems. This patch fixes all of those problems. > > Fixes: cf4747d7535a ("rtlwifi: Fix regression caused by commit d86e64768859") > Signed-off-by: Jurij Smakov <jurij@wooyd.org> > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> > Cc: Stable <stable@vger.kernel.org> # 4.9+ > --- > V2 - answer the comments of Kalle Perfect, thanks. Now it should be obvious why this patch needs to be in 4.10.
Larry Finger <Larry.Finger@lwfinger.net> wrote: > From: Jurij Smakov <jurij@wooyd.org> > > In commit cf4747d7535a ("rtlwifi: Fix regression caused by commit > d86e64768859, an error in the edit results in the wrong firmware > being loaded for some models of the RTL8188/8192CE. In this condition, > the connection suffered from high ping latency, slow transfer rates, > and required higher signal strengths to work at all > > See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=853073, > https://bugzilla.opensuse.org/show_bug.cgi?id=1017471, and > https://github.com/lwfinger/rtlwifi_new/issues/203 for descriptions > of the problems. This patch fixes all of those problems. > > Fixes: cf4747d7535a ("rtlwifi: Fix regression caused by commit d86e64768859") > Signed-off-by: Jurij Smakov <jurij@wooyd.org> > Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> > Cc: Stable <stable@vger.kernel.org> # 4.9+ Patch applied to wireless-drivers.git, thanks. 52f5631a4c05 rtlwifi: rtl8192ce: Fix loading of incorrect firmware
diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c index b875a72..9a94e45 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192ce/sw.c @@ -96,7 +96,7 @@ int rtl92c_init_sw_vars(struct ieee80211_hw *hw) struct rtl_priv *rtlpriv = rtl_priv(hw); struct rtl_pci *rtlpci = rtl_pcidev(rtl_pcipriv(hw)); struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); - char *fw_name = "rtlwifi/rtl8192cfwU.bin"; + char *fw_name; rtl8192ce_bt_reg_init(hw); @@ -167,8 +167,13 @@ int rtl92c_init_sw_vars(struct ieee80211_hw *hw) } /* request fw */ - if (IS_81XXC_VENDOR_UMC_B_CUT(rtlhal->version)) + if (IS_VENDOR_UMC_A_CUT(rtlhal->version) && + !IS_92C_SERIAL(rtlhal->version)) + fw_name = "rtlwifi/rtl8192cfwU.bin"; + else if (IS_81XXC_VENDOR_UMC_B_CUT(rtlhal->version)) fw_name = "rtlwifi/rtl8192cfwU_B.bin"; + else + fw_name = "rtlwifi/rtl8192cfw.bin"; rtlpriv->max_fw_size = 0x4000; pr_info("Using firmware %s\n", fw_name);