Commit 8903bab0 authored by Jeff Garzik's avatar Jeff Garzik

Merge branch 'upstream-fixes' of...

Merge branch 'upstream-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream-fixes
parents 7f397dcd d7ea3be5
...@@ -311,7 +311,7 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb, ...@@ -311,7 +311,7 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb,
local_info_t *local; local_info_t *local;
struct ieee80211_hdr_4addr *hdr; struct ieee80211_hdr_4addr *hdr;
u16 fc; u16 fc;
int hdr_len, res; int prefix_len, postfix_len, hdr_len, res;
iface = netdev_priv(skb->dev); iface = netdev_priv(skb->dev);
local = iface->local; local = iface->local;
...@@ -337,10 +337,13 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb, ...@@ -337,10 +337,13 @@ static struct sk_buff * hostap_tx_encrypt(struct sk_buff *skb,
if (skb == NULL) if (skb == NULL)
return NULL; return NULL;
if ((skb_headroom(skb) < crypt->ops->extra_mpdu_prefix_len || prefix_len = crypt->ops->extra_mpdu_prefix_len +
skb_tailroom(skb) < crypt->ops->extra_mpdu_postfix_len) && crypt->ops->extra_msdu_prefix_len;
pskb_expand_head(skb, crypt->ops->extra_mpdu_prefix_len, postfix_len = crypt->ops->extra_mpdu_postfix_len +
crypt->ops->extra_mpdu_postfix_len, GFP_ATOMIC)) { crypt->ops->extra_msdu_postfix_len;
if ((skb_headroom(skb) < prefix_len ||
skb_tailroom(skb) < postfix_len) &&
pskb_expand_head(skb, prefix_len, postfix_len, GFP_ATOMIC)) {
kfree_skb(skb); kfree_skb(skb);
return NULL; return NULL;
} }
......
...@@ -378,9 +378,10 @@ islpci_eth_receive(islpci_private *priv) ...@@ -378,9 +378,10 @@ islpci_eth_receive(islpci_private *priv)
display_buffer((char *) skb->data, skb->len); display_buffer((char *) skb->data, skb->len);
#endif #endif
/* take care of monitor mode and spy monitoring. */ /* take care of monitor mode and spy monitoring. */
if (unlikely(priv->iw_mode == IW_MODE_MONITOR)) if (unlikely(priv->iw_mode == IW_MODE_MONITOR)) {
skb->dev = ndev;
discard = islpci_monitor_rx(priv, &skb); discard = islpci_monitor_rx(priv, &skb);
else { } else {
if (unlikely(skb->data[2 * ETH_ALEN] == 0)) { if (unlikely(skb->data[2 * ETH_ALEN] == 0)) {
/* The packet has a rx_annex. Read it for spy monitoring, Then /* The packet has a rx_annex. Read it for spy monitoring, Then
* remove it, while keeping the 2 leading MAC addr. * remove it, while keeping the 2 leading MAC addr.
......
...@@ -140,7 +140,7 @@ struct net_device *alloc_ieee80211(int sizeof_priv) ...@@ -140,7 +140,7 @@ struct net_device *alloc_ieee80211(int sizeof_priv)
dev = alloc_etherdev(sizeof(struct ieee80211_device) + sizeof_priv); dev = alloc_etherdev(sizeof(struct ieee80211_device) + sizeof_priv);
if (!dev) { if (!dev) {
IEEE80211_ERROR("Unable to network device.\n"); IEEE80211_ERROR("Unable to allocate network device.\n");
goto failed; goto failed;
} }
ieee = netdev_priv(dev); ieee = netdev_priv(dev);
......
...@@ -33,7 +33,10 @@ struct net_device *alloc_ieee80211softmac(int sizeof_priv) ...@@ -33,7 +33,10 @@ struct net_device *alloc_ieee80211softmac(int sizeof_priv)
struct ieee80211softmac_device *softmac; struct ieee80211softmac_device *softmac;
struct net_device *dev; struct net_device *dev;
dev = alloc_ieee80211(sizeof(struct ieee80211softmac_device) + sizeof_priv); dev = alloc_ieee80211(sizeof(*softmac) + sizeof_priv);
if (!dev)
return NULL;
softmac = ieee80211_priv(dev); softmac = ieee80211_priv(dev);
softmac->dev = dev; softmac->dev = dev;
softmac->ieee = netdev_priv(dev); softmac->ieee = netdev_priv(dev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment