Changeset 13955


Ignore:
Timestamp:
2009-01-10T01:55:38+01:00 (9 years ago)
Author:
nbd
Message:

fix a memory corruption bug in the linux 2.4 version of b44

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/brcm-2.4/patches/110-b44_alignment.patch

    r13946 r13955  
    1111 /* minimum number of free TX descriptors required to wake up TX process */ 
    1212 #define B44_TX_WAKEUP_THRESH           (B44_TX_RING_SIZE / 4) 
    13 @@ -734,10 +735,9 @@ static int b44_alloc_rx_skb(struct b44 * 
     13@@ -734,10 +735,8 @@ static int b44_alloc_rx_skb(struct b44 * 
    1414        mapping = pci_map_single(bp->pdev, skb->data, 
    1515                                 RX_PKT_BUF_SZ, 
     
    1717-       skb_reserve(skb, bp->rx_offset); 
    1818  
    19         rh = (struct rx_header *) 
     19-       rh = (struct rx_header *) 
    2020-               (skb->data - bp->rx_offset); 
    21 +               (skb->data - RX_HEADER_OFS); 
     21+       rh = (struct rx_header *) skb->data; 
    2222        rh->len = 0; 
    2323        rh->flags = 0; 
    2424  
    25 @@ -747,13 +747,13 @@ static int b44_alloc_rx_skb(struct b44 * 
     25@@ -747,13 +746,13 @@ static int b44_alloc_rx_skb(struct b44 * 
    2626        if (src_map != NULL) 
    2727                src_map->skb = NULL; 
     
    3939        return RX_PKT_BUF_SZ; 
    4040 } 
    41 @@ -812,7 +812,7 @@ static int b44_rx(struct b44 *bp, int bu 
     41@@ -812,7 +811,7 @@ static int b44_rx(struct b44 *bp, int bu 
    4242                                    PCI_DMA_FROMDEVICE); 
    4343                rh = (struct rx_header *) skb->data; 
     
    4848                drop_it: 
    4949                        b44_recycle_rx(bp, cons, bp->rx_prod); 
    50 @@ -844,8 +844,8 @@ static int b44_rx(struct b44 *bp, int bu 
     50@@ -844,8 +843,8 @@ static int b44_rx(struct b44 *bp, int bu 
    5151                        pci_unmap_single(bp->pdev, map, 
    5252                                         skb_size, PCI_DMA_FROMDEVICE); 
     
    5959                        struct sk_buff *copy_skb; 
    6060  
    61 @@ -858,7 +858,7 @@ static int b44_rx(struct b44 *bp, int bu 
     61@@ -858,7 +857,7 @@ static int b44_rx(struct b44 *bp, int bu 
    6262                        skb_reserve(copy_skb, 2); 
    6363                        skb_put(copy_skb, len); 
     
    6868                        skb = copy_skb; 
    6969                } 
    70 @@ -1344,7 +1344,7 @@ static void b44_init_hw(struct b44 *bp) 
     70@@ -1344,7 +1343,7 @@ static void b44_init_hw(struct b44 *bp) 
    7171        bw32(B44_DMATX_CTRL, DMATX_CTRL_ENABLE); 
    7272        bw32(B44_DMATX_ADDR, bp->tx_ring_dma + bp->dma_offset); 
     
    7777  
    7878        bw32(B44_DMARX_PTR, bp->rx_pending); 
    79 @@ -1873,13 +1873,7 @@ static int __devinit b44_get_invariants( 
     79@@ -1873,13 +1872,7 @@ static int __devinit b44_get_invariants( 
    8080                bp->mdc_port = (eeprom[90] >> 14) & 0x1; 
    8181        } 
Note: See TracChangeset for help on using the changeset viewer.