Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
authorDavid S. Miller <davem@davemloft.net>
Tue, 26 Apr 2011 19:16:46 +0000 (12:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Apr 2011 19:16:46 +0000 (12:16 -0700)
Resolved logic conflicts causing a build failure due to
drivers/net/r8169.c changes using a patch from Stephen Rothwell.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 files changed:
1  2 
drivers/net/atl1c/atl1c_main.c
drivers/net/benet/be_main.c
drivers/net/bnx2x/bnx2x_cmn.c
drivers/net/bonding/bond_3ad.c
drivers/net/ehea/ehea_main.c
drivers/net/r8169.c
drivers/net/wireless/ath/ath9k/recv.c
drivers/net/wireless/iwlwifi/iwl-agn-rxon.c
drivers/net/wireless/iwlwifi/iwl-agn-tx.c
net/bluetooth/hci_core.c
net/bluetooth/hci_event.c
net/bluetooth/l2cap_core.c
net/bridge/br_input.c
net/ipv4/route.c
net/ipv6/route.c
net/ipv6/udp.c
net/mac80211/cfg.c

Simple merge
index 35294005361b9771746bd3b2786e675512009aea,02a0443d1821d56f5c4ed61d713b2b186f6dc62e..7b19931acba17f89ccf76cc81edb36ec7a5388e4
@@@ -1905,8 -1869,11 +1905,9 @@@ static void be_worker(struct work_struc
                        be_post_rx_frags(rxo, GFP_KERNEL);
                }
        }
 -      if (!adapter->ue_detected && !lancer_chip(adapter))
 -              be_detect_dump_ue(adapter);
  
  reschedule:
+       adapter->work_counter++;
        schedule_delayed_work(&adapter->work, msecs_to_jiffies(1000));
  }
  
Simple merge
Simple merge
Simple merge
index fb03e6ff37162f4d35616852a0ee42821f47b27c,397c36810a159ad7dfc143a819303e059008fe56..025dedda40a0992783686c33809585b54b1cceb2
@@@ -183,6 -170,16 +183,19 @@@ static const struct 
  };
  #undef _R
  
 -      { .mac_version = RTL_GIGA_MAC_VER_30, .fw_name = FIRMWARE_8105E_1 }
+ static const struct rtl_firmware_info {
+       int mac_version;
+       const char *fw_name;
+ } rtl_firmware_infos[] = {
+       { .mac_version = RTL_GIGA_MAC_VER_25, .fw_name = FIRMWARE_8168D_1 },
+       { .mac_version = RTL_GIGA_MAC_VER_26, .fw_name = FIRMWARE_8168D_2 },
+       { .mac_version = RTL_GIGA_MAC_VER_29, .fw_name = FIRMWARE_8105E_1 },
++      { .mac_version = RTL_GIGA_MAC_VER_30, .fw_name = FIRMWARE_8105E_1 },
++      { .mac_version = RTL_GIGA_MAC_VER_30, .fw_name = FIRMWARE_8105E_1 },
++      { .mac_version = RTL_GIGA_MAC_VER_31, .fw_name = FIRMWARE_8168E_1 },
++      { .mac_version = RTL_GIGA_MAC_VER_32, .fw_name = FIRMWARE_8168E_2 }
+ };
  enum cfg_version {
        RTL_CFG_0 = 0x00,
        RTL_CFG_1,
@@@ -2494,93 -2444,6 +2505,91 @@@ static void rtl8168d_4_hw_phy_config(st
        rtl_patchphy(tp, 0x0d, 1 << 5);
  }
  
-       if (rtl_apply_firmware(tp, FIRMWARE_8168E_1) < 0)
-               netif_warn(tp, probe, tp->dev, "unable to apply firmware patch\n");
 +static void rtl8168e_hw_phy_config(struct rtl8169_private *tp)
 +{
 +      static const struct phy_reg phy_reg_init[] = {
 +              /* Enable Delay cap */
 +              { 0x1f, 0x0005 },
 +              { 0x05, 0x8b80 },
 +              { 0x06, 0xc896 },
 +              { 0x1f, 0x0000 },
 +
 +              /* Channel estimation fine tune */
 +              { 0x1f, 0x0001 },
 +              { 0x0b, 0x6c20 },
 +              { 0x07, 0x2872 },
 +              { 0x1c, 0xefff },
 +              { 0x1f, 0x0003 },
 +              { 0x14, 0x6420 },
 +              { 0x1f, 0x0000 },
 +
 +              /* Update PFM & 10M TX idle timer */
 +              { 0x1f, 0x0007 },
 +              { 0x1e, 0x002f },
 +              { 0x15, 0x1919 },
 +              { 0x1f, 0x0000 },
 +
 +              { 0x1f, 0x0007 },
 +              { 0x1e, 0x00ac },
 +              { 0x18, 0x0006 },
 +              { 0x1f, 0x0000 }
 +      };
 +
 +      rtl_writephy_batch(tp, phy_reg_init, ARRAY_SIZE(phy_reg_init));
 +
 +      /* DCO enable for 10M IDLE Power */
 +      rtl_writephy(tp, 0x1f, 0x0007);
 +      rtl_writephy(tp, 0x1e, 0x0023);
 +      rtl_w1w0_phy(tp, 0x17, 0x0006, 0x0000);
 +      rtl_writephy(tp, 0x1f, 0x0000);
 +
 +      /* For impedance matching */
 +      rtl_writephy(tp, 0x1f, 0x0002);
 +      rtl_w1w0_phy(tp, 0x08, 0x8000, 0x7f00);
 +      rtl_writephy(tp, 0x1F, 0x0000);
 +
 +      /* PHY auto speed down */
 +      rtl_writephy(tp, 0x1f, 0x0007);
 +      rtl_writephy(tp, 0x1e, 0x002d);
 +      rtl_w1w0_phy(tp, 0x18, 0x0050, 0x0000);
 +      rtl_writephy(tp, 0x1f, 0x0000);
 +      rtl_w1w0_phy(tp, 0x14, 0x8000, 0x0000);
 +
 +      rtl_writephy(tp, 0x1f, 0x0005);
 +      rtl_writephy(tp, 0x05, 0x8b86);
 +      rtl_w1w0_phy(tp, 0x06, 0x0001, 0x0000);
 +      rtl_writephy(tp, 0x1f, 0x0000);
 +
 +      rtl_writephy(tp, 0x1f, 0x0005);
 +      rtl_writephy(tp, 0x05, 0x8b85);
 +      rtl_w1w0_phy(tp, 0x06, 0x0000, 0x2000);
 +      rtl_writephy(tp, 0x1f, 0x0007);
 +      rtl_writephy(tp, 0x1e, 0x0020);
 +      rtl_w1w0_phy(tp, 0x15, 0x0000, 0x1100);
 +      rtl_writephy(tp, 0x1f, 0x0006);
 +      rtl_writephy(tp, 0x00, 0x5a00);
 +      rtl_writephy(tp, 0x1f, 0x0000);
 +      rtl_writephy(tp, 0x0d, 0x0007);
 +      rtl_writephy(tp, 0x0e, 0x003c);
 +      rtl_writephy(tp, 0x0d, 0x4007);
 +      rtl_writephy(tp, 0x0e, 0x0000);
 +      rtl_writephy(tp, 0x0d, 0x0000);
 +}
 +
 +static void rtl8168e_1_hw_phy_config(struct rtl8169_private *tp)
 +{
-       if (rtl_apply_firmware(tp, FIRMWARE_8168E_2) < 0)
-               netif_warn(tp, probe, tp->dev, "unable to apply firmware patch\n");
++      rtl_apply_firmware(tp);
 +
 +      rtl8168e_hw_phy_config(tp);
 +}
 +
 +static void rtl8168e_2_hw_phy_config(struct rtl8169_private *tp)
 +{
++      rtl_apply_firmware(tp);
 +
 +      rtl8168e_hw_phy_config(tp);
 +}
 +
  static void rtl8102e_hw_phy_config(struct rtl8169_private *tp)
  {
        static const struct phy_reg phy_reg_init[] = {
Simple merge
Simple merge
Simple merge
index 8cfa2a663028900e6b0fe8107398faeb9af39d37,2c8dd4494c63966ffd0e5df4f66546139dea2f81..fd3c1f35aa009c5cbfb6d7dff609887c1e69f3f5
@@@ -1079,13 -1051,14 +1079,14 @@@ static void l2cap_retransmit_one_frame(
        tx_skb = skb_clone(skb, GFP_ATOMIC);
        bt_cb(skb)->retries++;
        control = get_unaligned_le16(tx_skb->data + L2CAP_HDR_SIZE);
+       control &= L2CAP_CTRL_SAR;
  
 -      if (pi->conn_state & L2CAP_CONN_SEND_FBIT) {
 +      if (chan->conn_state & L2CAP_CONN_SEND_FBIT) {
                control |= L2CAP_CTRL_FINAL;
 -              pi->conn_state &= ~L2CAP_CONN_SEND_FBIT;
 +              chan->conn_state &= ~L2CAP_CONN_SEND_FBIT;
        }
  
 -      control |= (pi->buffer_seq << L2CAP_CTRL_REQSEQ_SHIFT)
 +      control |= (chan->buffer_seq << L2CAP_CTRL_REQSEQ_SHIFT)
                        | (tx_seq << L2CAP_CTRL_TXSEQ_SHIFT);
  
        put_unaligned_le16(control, tx_skb->data + L2CAP_HDR_SIZE);
Simple merge
Simple merge
Simple merge
diff --cc net/ipv6/udp.c
Simple merge
Simple merge