BB: openssl: update to 1.0.2f (fixes CVE-2016-0701, CVE-2015-3197)
[14.07/openwrt.git] / target / linux / brcm47xx / patches-3.10 / 211-b44-start_phy.patch
1 --- a/drivers/net/ethernet/broadcom/b44.c
2 +++ b/drivers/net/ethernet/broadcom/b44.c
3 @@ -576,7 +576,6 @@ static void b44_check_phy(struct b44 *bp
4                         else
5                                 val &= ~TX_CTRL_DUPLEX;
6                         bw32(bp, B44_TX_CTRL, val);
7 -                       netif_carrier_on(bp->dev);
8                         b44_link_report(bp);
9                 }
10                 return;
11 @@ -1511,6 +1510,10 @@ static int b44_open(struct net_device *d
12         add_timer(&bp->timer);
13  
14         b44_enable_ints(bp);
15 +
16 +       if (bp->flags & B44_FLAG_EXTERNAL_PHY)
17 +               phy_start(bp->phydev);
18 +
19         netif_start_queue(dev);
20  out:
21         return err;
22 @@ -1673,6 +1676,9 @@ static int b44_close(struct net_device *
23  
24         netif_stop_queue(dev);
25  
26 +       if (bp->flags & B44_FLAG_EXTERNAL_PHY)
27 +               phy_stop(bp->phydev);
28 +
29         napi_disable(&bp->napi);
30  
31         del_timer_sync(&bp->timer);
32 @@ -2251,8 +2257,13 @@ static void b44_adjust_link(struct net_d
33         }
34  
35         if (status_changed) {
36 -               b44_check_phy(bp);
37 -               phy_print_status(phydev);
38 +               u32 val = br32(bp, B44_TX_CTRL);
39 +               if (bp->flags & B44_FLAG_FULL_DUPLEX)
40 +                       val |= TX_CTRL_DUPLEX;
41 +               else
42 +                       val &= ~TX_CTRL_DUPLEX;
43 +               bw32(bp, B44_TX_CTRL, val);
44 +               b44_link_report(bp);
45         }
46  }
47