[OpenWrt-Devel] #13951: Revision r36939 breaks support for RT5370 (rt2800usb) in HG556a (brcm6358)
diff mbox

Message ID 54CA1C48.6000704@globalmarinenet.com
State Accepted
Headers show

Commit Message

Luis Soltero Jan. 29, 2015, 11:40 a.m. UTC
hello all...

i have attached the patch


On 1/29/15 6:39 AM, OpenWrt wrote:
> #13951: Revision r36939 breaks support for RT5370 (rt2800usb) in HG556a (brcm6358)
> -------------------------+-------------------------------------------------
>    Reporter:  openwrt@…   |      Owner:  developers
>        Type:  defect      |     Status:  reopened
>    Priority:  normal      |  Milestone:  Chaos Calmer (trunk)
>   Component:  kernel      |    Version:  Trunk
> Resolution:              |   Keywords:  r36939 RT5370 rt2800usb HG556a
>                           |  brcm6358
> -------------------------+-------------------------------------------------
>
> Comment (by lsoltero):
>
>   fixed.
>
>   910-01-add-support-for-mt7620.patch
>
>   modified rt2800_get_txwi_rxwi_size() to add a case statement for the
>   RT5390.  The problem is that the logic added to the case tested for the
>   7620 but failed to set the values for txwi_size and rxwi_size when the
>   5390 was not associated with the 7620.  So the full function should look
>   like
>
>   void rt2800_get_txwi_rxwi_size(struct rt2x00_dev *rt2x00dev,
>                                  unsigned short *txwi_size,
>                                  unsigned short *rxwi_size)
>   {
>           switch (rt2x00dev->chip.rt) {
>           case RT3593:
>           case RT3883:
>                   *txwi_size = TXWI_DESC_SIZE_4WORDS;
>                   *rxwi_size = RXWI_DESC_SIZE_5WORDS;
>                   break;
>
>           case RT5390:
>                   if ( rt2x00dev->chip.rf == RF7620 ) {
>                           *txwi_size = TXWI_DESC_SIZE_5WORDS;
>                           *rxwi_size = RXWI_DESC_SIZE_6WORDS;
>                   } else {
>                      // else clause missing in original patch.
>                     *txwi_size = TXWI_DESC_SIZE_4WORDS;
>                     *rxwi_size = RXWI_DESC_SIZE_4WORDS;
>                   }
>                   break;
>
>           case RT5592:
>                   *txwi_size = TXWI_DESC_SIZE_5WORDS;
>                   *rxwi_size = RXWI_DESC_SIZE_6WORDS;
>                   break;
>
>           default:
>                   *txwi_size = TXWI_DESC_SIZE_4WORDS;
>                   *rxwi_size = RXWI_DESC_SIZE_4WORDS;
>                   break;
>           }
>   }
>
>
>   here is a patch that fixes the problem
>
>   package/kernel/mac80211/patches$ cat 910-02-fix-5370-in-add-support-for-
>   mt7620.patch
>   --- a/drivers/net/wireless/rt2x00/rt2800lib.c
>   +++ b/drivers/net/wireless/rt2x00/rt2800lib.c
>   @@ -633,6 +633,9 @@ void rt2800_get_txwi_rxwi_size(struct rt
>                   if ( rt2x00dev->chip.rf == RF7620 ) {
>                           *txwi_size = TXWI_DESC_SIZE_5WORDS;
>                           *rxwi_size = RXWI_DESC_SIZE_6WORDS;
>   +               } else {
>   +                 *txwi_size = TXWI_DESC_SIZE_4WORDS;
>   +                 *rxwi_size = RXWI_DESC_SIZE_4WORDS;
>                   }
>                   break;
>
> --
> Ticket URL: <https://dev.openwrt.org/ticket/13951#comment:17>
> OpenWrt <http://openwrt.org>
> Opensource Wireless Router Technology
>

Patch
diff mbox

--- a/drivers/net/wireless/rt2x00/rt2800lib.c
+++ b/drivers/net/wireless/rt2x00/rt2800lib.c
@@ -633,6 +633,9 @@  void rt2800_get_txwi_rxwi_size(struct rt
 		if ( rt2x00dev->chip.rf == RF7620 ) {
 			*txwi_size = TXWI_DESC_SIZE_5WORDS;
 			*rxwi_size = RXWI_DESC_SIZE_6WORDS;
+		} else {
+		  *txwi_size = TXWI_DESC_SIZE_4WORDS;
+		  *rxwi_size = RXWI_DESC_SIZE_4WORDS;
 		}
 		break;