From: Linus Torvalds Date: Wed, 16 Mar 2011 23:29:25 +0000 (-0700) Subject: Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 X-Git-Tag: v2.6.39-rc1~468 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7a6362800cb7d1d618a697a650c7aaed3eb39320;p=platform%2Fkernel%2Flinux-stable.git Merge git://git./linux/kernel/git/davem/net-next-2.6 * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1480 commits) bonding: enable netpoll without checking link status xfrm: Refcount destination entry on xfrm_lookup net: introduce rx_handler results and logic around that bonding: get rid of IFF_SLAVE_INACTIVE netdev->priv_flag bonding: wrap slave state work net: get rid of multiple bond-related netdevice->priv_flags bonding: register slave pointer for rx_handler be2net: Bump up the version number be2net: Copyright notice change. Update to Emulex instead of ServerEngines e1000e: fix kconfig for crc32 dependency netfilter ebtables: fix xt_AUDIT to work with ebtables xen network backend driver bonding: Improve syslog message at device creation time bonding: Call netif_carrier_off after register_netdevice bonding: Incorrect TX queue offset net_sched: fix ip_tos2prio xfrm: fix __xfrm_route_forward() be2net: Fix UDP packet detected status in RX compl Phonet: fix aligned-mode pipe socket buffer header reserve netxen: support for GbE port settings ... Fix up conflicts in drivers/staging/brcm80211/brcmsmac/wl_mac80211.c with the staging updates. --- 7a6362800cb7d1d618a697a650c7aaed3eb39320 diff --cc Documentation/feature-removal-schedule.txt index b3f35e5,a9c4245e..f487c69 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt @@@ -619,3 -637,12 +637,11 @@@ Why: The original implementation of mem Who: Michal Hocko ---------------------------- + + What: ipt_addrtype match include file + When: 2012 + Why: superseded by xt_addrtype + Who: Florian Westphal + Files: include/linux/netfilter_ipv4/ipt_addrtype.h ->>>>>>> 2f5dc63123905a89d4260ab8ee08d19ec104db04 + + ---------------------------- diff --cc drivers/staging/brcm80211/brcmsmac/wl_mac80211.c index 66708d8,6363077..774b4e9 --- a/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c +++ b/drivers/staging/brcm80211/brcmsmac/wl_mac80211.c @@@ -74,16 -104,7 +74,13 @@@ static int wl_request_fw(struct wl_inf static void wl_release_fw(struct wl_info *wl); /* local prototypes */ - static int wl_start(struct sk_buff *skb, struct wl_info *wl); - static int wl_start_int(struct wl_info *wl, struct ieee80211_hw *hw, - struct sk_buff *skb); static void wl_dpc(unsigned long data); +static irqreturn_t wl_isr(int irq, void *dev_id); + +static int __devinit wl_pci_probe(struct pci_dev *pdev, + const struct pci_device_id *ent); +static void wl_remove(struct pci_dev *pdev); +static void wl_free(struct wl_info *wl); MODULE_AUTHOR("Broadcom Corporation"); MODULE_DESCRIPTION("Broadcom 802.11n wireless LAN driver."); @@@ -109,9 -132,6 +106,8 @@@ module_param(phymsglevel, int, 0) #define HW_TO_WL(hw) (hw->priv) #define WL_TO_HW(wl) (wl->pub->ieee_hw) + +/* MAC80211 callback functions */ - static int wl_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb); static int wl_ops_start(struct ieee80211_hw *hw); static void wl_ops_stop(struct ieee80211_hw *hw); static int wl_ops_add_interface(struct ieee80211_hw *hw, @@@ -141,22 -161,17 +137,21 @@@ static void wl_ops_sta_notify(struct ie static int wl_ops_conf_tx(struct ieee80211_hw *hw, u16 queue, const struct ieee80211_tx_queue_params *params); static u64 wl_ops_get_tsf(struct ieee80211_hw *hw); -static int wl_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, +static int wl_ops_sta_add(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta); -static int wl_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, +static int wl_ops_sta_remove(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta); -static int wl_ampdu_action(struct ieee80211_hw *hw, struct ieee80211_vif *vif, - enum ieee80211_ampdu_mlme_action action, - struct ieee80211_sta *sta, u16 tid, u16 *ssn); +static int wl_ops_ampdu_action(struct ieee80211_hw *hw, + struct ieee80211_vif *vif, + enum ieee80211_ampdu_mlme_action action, + struct ieee80211_sta *sta, u16 tid, u16 *ssn, + u8 buf_size); +static void wl_ops_rfkill_poll(struct ieee80211_hw *hw); - static int wl_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb) + static void wl_ops_tx(struct ieee80211_hw *hw, struct sk_buff *skb) { - int status; struct wl_info *wl = hw->priv; + WL_LOCK(wl); if (!wl->pub->up) { WL_ERROR("ops->tx called while down\n"); @@@ -1393,30 -1314,11 +1387,11 @@@ static void wl_free(struct wl_info *wl iounmap((void *)wl->regsva); } wl->regsva = NULL; - - - osl_detach(osh); } +/* - * transmit a packet - * precondition: perimeter lock has been acquired - */ - static int BCMFASTPATH wl_start(struct sk_buff *skb, struct wl_info *wl) - { - if (!wl) - return -ENETDOWN; - - return wl_start_int(wl, WL_TO_HW(wl), skb); - } - - static int BCMFASTPATH - wl_start_int(struct wl_info *wl, struct ieee80211_hw *hw, struct sk_buff *skb) - { - wlc_sendpkt_mac80211(wl->wlc, skb, hw); - return NETDEV_TX_OK; - } - - /* + * precondition: perimeter lock has been acquired + */ void wl_txflowcontrol(struct wl_info *wl, struct wl_if *wlif, bool state, int prio) {