Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
David S. Miller [Thu, 14 Jul 2011 14:56:40 +0000 (07:56 -0700)]
Conflicts:
net/bluetooth/l2cap_core.c

19 files changed:
1  2 
Documentation/networking/ip-sysctl.txt
MAINTAINERS
drivers/net/sh_eth.c
drivers/net/slip.c
drivers/net/vmxnet3/vmxnet3_drv.c
drivers/net/vmxnet3/vmxnet3_int.h
drivers/net/wireless/ath/ath9k/xmit.c
drivers/ssb/driver_pcicore.c
net/bluetooth/hci_conn.c
net/bluetooth/l2cap_core.c
net/ipv4/udp.c
net/mac80211/scan.c
net/sctp/outqueue.c
net/sctp/protocol.c
net/sctp/sm_sideeffect.c
net/sctp/sm_statefuns.c
net/sctp/socket.c
net/wireless/nl80211.c
net/wireless/scan.c

diff --cc MAINTAINERS
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -514,13 -514,22 +514,22 @@@ static void ssb_pcicore_pcie_setup_work
   * Generic and Clientmode operation code.
   **************************************************/
  
 -static void ssb_pcicore_init_clientmode(struct ssb_pcicore *pc)
 +static void __devinit ssb_pcicore_init_clientmode(struct ssb_pcicore *pc)
  {
+       ssb_pcicore_fix_sprom_core_index(pc);
        /* Disable PCI interrupts. */
        ssb_write32(pc->dev, SSB_INTVEC, 0);
+       /* Additional PCIe always once-executed workarounds */
+       if (pc->dev->id.coreid == SSB_DEV_PCIE) {
+               ssb_pcicore_serdes_workaround(pc);
+               /* TODO: ASPM */
+               /* TODO: Clock Request Update */
+       }
  }
  
 -void ssb_pcicore_init(struct ssb_pcicore *pc)
 +void __devinit ssb_pcicore_init(struct ssb_pcicore *pc)
  {
        struct ssb_device *dev = pc->dev;
  
Simple merge
@@@ -2530,7 -2323,8 +2530,8 @@@ static inline int l2cap_config_req(stru
  
        sk = chan->sk;
  
-       if (chan->state != BT_CONFIG) {
 -      if ((bt_sk(sk)->defer_setup && sk->sk_state != BT_CONNECT2) ||
 -               (!bt_sk(sk)->defer_setup && sk->sk_state != BT_CONFIG)) {
++      if ((bt_sk(sk)->defer_setup && chan->state != BT_CONNECT2) ||
++               (!bt_sk(sk)->defer_setup && chan->state != BT_CONFIG)) {
                struct l2cap_cmd_rej rej;
  
                rej.reason = cpu_to_le16(0x0002);
diff --cc net/ipv4/udp.c
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
Simple merge
@@@ -3626,11 -3625,14 +3634,15 @@@ static int nl80211_stop_sched_scan(stru
            !rdev->ops->sched_scan_stop)
                return -EOPNOTSUPP;
  
-       return __cfg80211_stop_sched_scan(rdev, false);
+       mutex_lock(&rdev->sched_scan_mtx);
+       err = __cfg80211_stop_sched_scan(rdev, false);
+       mutex_unlock(&rdev->sched_scan_mtx);
+       return err;
  }
  
 -static int nl80211_send_bss(struct sk_buff *msg, u32 pid, u32 seq, int flags,
 +static int nl80211_send_bss(struct sk_buff *msg, struct netlink_callback *cb,
 +                          u32 seq, int flags,
                            struct cfg80211_registered_device *rdev,
                            struct wireless_dev *wdev,
                            struct cfg80211_internal_bss *intbss)
@@@ -132,9 -132,10 +132,9 @@@ EXPORT_SYMBOL(cfg80211_sched_scan_stopp
  int __cfg80211_stop_sched_scan(struct cfg80211_registered_device *rdev,
                               bool driver_initiated)
  {
 -      int err;
        struct net_device *dev;
  
-       ASSERT_RDEV_LOCK(rdev);
+       lockdep_assert_held(&rdev->sched_scan_mtx);
  
        if (!rdev->sched_scan_req)
                return 0;