From: Stephen Rothwell Date: Wed, 7 May 2014 02:36:10 +0000 (+1000) Subject: Merge remote-tracking branch 'net-next/master' X-Git-Tag: next-20140507~64 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=cdfe58e696190d10703d745b1962d10d2131e452;p=karo-tx-linux.git Merge remote-tracking branch 'net-next/master' Conflicts: drivers/net/ethernet/altera/altera_sgdma.c net/netlink/af_netlink.c net/sched/cls_api.c net/sched/sch_api.c --- cdfe58e696190d10703d745b1962d10d2131e452 diff --cc drivers/net/can/c_can/c_can_pci.c index fe5f6303b584,7ab384f59e7e..58f71e1fcc4e --- a/drivers/net/can/c_can/c_can_pci.c +++ b/drivers/net/can/c_can/c_can_pci.c @@@ -84,13 -115,11 +115,14 @@@ static int c_can_pci_probe(struct pci_d goto out_disable_device; } - pci_set_master(pdev); - pci_enable_msi(pdev); + ret = pci_enable_msi(pdev); + if (!ret) { + dev_info(&pdev->dev, "MSI enabled\n"); + pci_set_master(pdev); + } - addr = pci_iomap(pdev, 0, pci_resource_len(pdev, 0)); + addr = pci_iomap(pdev, c_can_pci_data->bar, + pci_resource_len(pdev, c_can_pci_data->bar)); if (!addr) { dev_err(&pdev->dev, "device has no PCI memory resources, " diff --cc drivers/net/ethernet/intel/e1000e/ich8lan.c index f0bbd4246d71,a2901139b209..5f5539561661 --- a/drivers/net/ethernet/intel/e1000e/ich8lan.c +++ b/drivers/net/ethernet/intel/e1000e/ich8lan.c @@@ -1331,13 -1318,11 +1331,14 @@@ static s32 e1000_check_for_copper_link_ * aggressive resulting in many collisions. To avoid this, increase * the IPG and reduce Rx latency in the PHY. */ - if ((hw->mac.type == e1000_pch2lan) && link) { + if (((hw->mac.type == e1000_pch2lan) || + (hw->mac.type == e1000_pch_lpt)) && link) { u32 reg; + reg = er32(STATUS); if (!(reg & (E1000_STATUS_FD | E1000_STATUS_SPEED_MASK))) { + u16 emi_addr; + reg = er32(TIPG); reg &= ~E1000_TIPG_IPGT_MASK; reg |= 0xFF; diff --cc net/netlink/af_netlink.c index 81dca96d2be6,92f4b6915e89..e0ccd84d4d67 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c @@@ -1492,8 -1445,8 +1510,8 @@@ static int netlink_bind(struct socket * return -EINVAL; /* Only superuser is allowed to listen multicasts */ - if (nladdr->nl_groups) { + if (groups) { - if (!netlink_capable(sock, NL_CFG_F_NONROOT_RECV)) + if (!netlink_allowed(sock, NL_CFG_F_NONROOT_RECV)) return -EPERM; err = netlink_realloc_groups(sk); if (err) diff --cc net/sched/cls_api.c index bdbdb1a7920a,1a4a20267787..45527e6b52db --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c @@@ -134,7 -134,8 +134,8 @@@ static int tc_ctl_tfilter(struct sk_buf int err; int tp_created = 0; - if ((n->nlmsg_type != RTM_GETTFILTER) && !netlink_capable(skb, CAP_NET_ADMIN)) + if ((n->nlmsg_type != RTM_GETTFILTER) && - !ns_capable(net->user_ns, CAP_NET_ADMIN)) ++ !netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN)) return -EPERM; replay: diff --cc net/sched/sch_api.c index 400769014bbd,86f8edfd6b8a..fd14df56e5ff --- a/net/sched/sch_api.c +++ b/net/sched/sch_api.c @@@ -1084,7 -1084,8 +1084,8 @@@ static int tc_get_qdisc(struct sk_buff struct Qdisc *p = NULL; int err; - if ((n->nlmsg_type != RTM_GETQDISC) && !netlink_capable(skb, CAP_NET_ADMIN)) + if ((n->nlmsg_type != RTM_GETQDISC) && - !ns_capable(net->user_ns, CAP_NET_ADMIN)) ++ !netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN)) return -EPERM; err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL); @@@ -1151,7 -1152,7 +1152,7 @@@ static int tc_modify_qdisc(struct sk_bu struct Qdisc *q, *p; int err; - if (!netlink_capable(skb, CAP_NET_ADMIN)) - if (!ns_capable(net->user_ns, CAP_NET_ADMIN)) ++ if (!netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN)) return -EPERM; replay: @@@ -1490,7 -1491,8 +1491,8 @@@ static int tc_ctl_tclass(struct sk_buf u32 qid; int err; - if ((n->nlmsg_type != RTM_GETTCLASS) && !netlink_capable(skb, CAP_NET_ADMIN)) + if ((n->nlmsg_type != RTM_GETTCLASS) && - !ns_capable(net->user_ns, CAP_NET_ADMIN)) ++ !netlink_ns_capable(skb, net->user_ns, CAP_NET_ADMIN)) return -EPERM; err = nlmsg_parse(n, sizeof(*tcm), tca, TCA_MAX, NULL); diff --cc net/wireless/scan.c index 88f108edfb58,0f5da18cc619..e7329bb6a323 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@@ -284,22 -284,14 +284,22 @@@ void cfg80211_sched_scan_results(struc } EXPORT_SYMBOL(cfg80211_sched_scan_results); -void cfg80211_sched_scan_stopped(struct wiphy *wiphy) +void cfg80211_sched_scan_stopped_rtnl(struct wiphy *wiphy) { - struct cfg80211_registered_device *rdev = wiphy_to_dev(wiphy); + struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); + ASSERT_RTNL(); + trace_cfg80211_sched_scan_stopped(wiphy); - rtnl_lock(); __cfg80211_stop_sched_scan(rdev, true); +} +EXPORT_SYMBOL(cfg80211_sched_scan_stopped_rtnl); + +void cfg80211_sched_scan_stopped(struct wiphy *wiphy) +{ + rtnl_lock(); + cfg80211_sched_scan_stopped_rtnl(wiphy); rtnl_unlock(); } EXPORT_SYMBOL(cfg80211_sched_scan_stopped);