diff mbox

PROBLEM: Boot failure with bad RIP value

Message ID 5453A5CF.90107@lwfinger.net (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Larry Finger Oct. 31, 2014, 3:07 p.m. UTC
On 10/31/2014 08:56 AM, S. Gilles wrote:
>> 03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)
>
> Any progress on this, or duplication?  If this isn't replicable with
> the information in Bugzilla, I can provide anything requested.

Thanks for posting the PCI ID. I am currently on a family vacation, and I have 
had little time for driver problems, and none for chasing missing information.

The attached patches should fix the kernel crashes; however, I doubt that the 
driver will work. There seems to be a problem with DMA buffers that I have not 
had time to find.

Larry

Comments

S. Gilles Nov. 1, 2014, 3:41 a.m. UTC | #1
On Fri, Oct 31, 2014 at 10:07:59AM -0500, Larry Finger wrote:
> On 10/31/2014 08:56 AM, S. Gilles wrote:
> >> 03:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)
> >
> > Any progress on this, or duplication?  If this isn't replicable with
> > the information in Bugzilla, I can provide anything requested.
> 
> Thanks for posting the PCI ID. I am currently on a family vacation, and I have 
> had little time for driver problems, and none for chasing missing information.

My apologies, I didn't realize you were still away.

> The attached patches should fix the kernel crashes; however, I doubt that the 
> driver will work. There seems to be a problem with DMA buffers that I have not 
> had time to find.

For the sake of followp, I can confirm on my machine: the boot is fine
but no /dev/wlan0. Thanks for the patches, I'll remain available to
test any more if needed.
diff mbox

Patch

From 4f3d6a80198c539bbf200ff3a6dd00689b50bf78 Mon Sep 17 00:00:00 2001
From: Larry Finger <Larry.Finger@lwfinger.net>
Date: Sat, 25 Oct 2014 23:51:15 -0500
Subject: [PATCH 5/7] rtlwifi: rtl8192ce: Add missing section to read
 descriptor setting
To: linville@tuxdriver.com
Cc: netdev@vger.kernel.org,
    troy_tan@realsil.com.cn

The new version of rtlwifi needs code in rtl92ce_get_desc() that returns
the buffer address for read operations.

Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
---
 drivers/net/wireless/rtlwifi/rtl8192ce/def.h | 2 ++
 drivers/net/wireless/rtlwifi/rtl8192ce/trx.c | 3 +++
 2 files changed, 5 insertions(+)

diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/def.h b/drivers/net/wireless/rtlwifi/rtl8192ce/def.h
index 831df10..9b660df 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/def.h
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/def.h
@@ -114,6 +114,8 @@ 
 	LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 16, 4)
 #define	GET_C2H_CMD_FEEDBACK_CCX_SEQ(__pcmdfbhdr)	\
 	LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 20, 12)
+#define GET_RX_STATUS_DESC_BUFF_ADDR(__pdesc)			\
+	SHIFT_AND_MASK_LE(__pdesc + 24, 0, 32)
 
 #define CHIP_VER_B			BIT(4)
 #define CHIP_BONDING_IDENTIFIER(_value) (((_value) >> 22) & 0x3)
diff --git a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
index 2fb9c7a..dc3d20b 100644
--- a/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
+++ b/drivers/net/wireless/rtlwifi/rtl8192ce/trx.c
@@ -728,6 +728,9 @@  u32 rtl92ce_get_desc(u8 *p_desc, bool istx, u8 desc_name)
 		case HW_DESC_RXPKT_LEN:
 			ret = GET_RX_DESC_PKT_LEN(pdesc);
 			break;
+		case HW_DESC_RXBUFF_ADDR:
+			ret = GET_RX_STATUS_DESC_BUFF_ADDR(pdesc);
+			break;
 		default:
 			RT_ASSERT(false, "ERR rxdesc :%d not process\n",
 				  desc_name);
-- 
2.1.1