1 --- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
2 +++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
3 @@ -271,7 +271,7 @@ struct brcms_c_bit_desc {
6 /* Starting corerev for the fifo size table */
7 -#define XMTFIFOTBL_STARTREV 20
8 +#define XMTFIFOTBL_STARTREV 10
12 @@ -335,6 +335,26 @@ const u8 wlc_prio2prec_map[] = {
15 static const u16 xmtfifo_sz[][NFIFO] = {
30 + /* corerev 17: 5120, 49152, 49152, 5376, 4352, 1280 */
31 + {20, 192, 192, 21, 17, 5},
36 /* corerev 20: 5120, 49152, 49152, 5376, 4352, 1280 */
37 {20, 192, 192, 21, 17, 5},
38 /* corerev 21: 2304, 14848, 5632, 3584, 3584, 1280 */
39 @@ -345,6 +365,18 @@ static const u16 xmtfifo_sz[][NFIFO] = {
40 {20, 192, 192, 21, 17, 5},
41 /* corerev 24: 2304, 14848, 5632, 3584, 3584, 1280 */
42 {9, 58, 22, 14, 14, 5},
49 + /* corerev 28: 5120, 49152, 49152, 5376, 4352, 1280 */
50 + {20, 192, 192, 21, 17, 5},
58 @@ -4598,8 +4630,15 @@ static int brcms_b_attach(struct brcms_c
59 wlc_hw->machwcap_backup = wlc_hw->machwcap;
61 /* init tx fifo size */
62 + WARN_ON((wlc_hw->corerev - XMTFIFOTBL_STARTREV) < 0 ||
63 + (wlc_hw->corerev - XMTFIFOTBL_STARTREV) >
64 + ARRAY_SIZE(xmtfifo_sz));
66 xmtfifo_sz[(wlc_hw->corerev - XMTFIFOTBL_STARTREV)];
67 + pr_err("use fifi: %i, %i, %i, %i, %i, %i\n",
68 + wlc_hw->xmtfifo_sz[0], wlc_hw->xmtfifo_sz[1],
69 + wlc_hw->xmtfifo_sz[2], wlc_hw->xmtfifo_sz[3],
70 + wlc_hw->xmtfifo_sz[4], wlc_hw->xmtfifo_sz[5]);
72 /* Get a phy for this band */