Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 184804
Collapse All | Expand All

(-)madwifi-0.9.3.1/ath/if_ath_pci.c.orig (-1 / +1 lines)
Lines 207-213 Link Here
207
207
208
	pci_set_drvdata(pdev, dev);
208
	pci_set_drvdata(pdev, dev);
209
209
210
	if (request_irq(dev->irq, ath_intr, SA_SHIRQ, dev->name, dev)) {
210
	if (request_irq(dev->irq, ath_intr, IRQF_SHARED, dev->name, dev)) {
211
		printk(KERN_WARNING "%s: request_irq failed\n", dev->name);
211
		printk(KERN_WARNING "%s: request_irq failed\n", dev->name);
212
		goto bad3;
212
		goto bad3;
213
	}
213
	}
(-)madwifi-0.9.3.1/net80211/ieee80211_input.c.orig (-10 / +11 lines)
Lines 1048-1058 Link Here
1048
			 * incoming fragments
1048
			 * incoming fragments
1049
			 * XXX 4-address/QoS frames?
1049
			 * XXX 4-address/QoS frames?
1050
			 */
1050
			 */
1051
			else if (skb->end - skb->head < ni->ni_vap->iv_dev->mtu +
1051
			else if (skb_end_pointer(skb) - skb->head < ni->ni_vap->iv_dev->mtu +
1052
				 hdrlen) {
1052
				 hdrlen) {
1053
				ni->ni_rxfrag = skb_copy_expand(skb, 0,
1053
				ni->ni_rxfrag = skb_copy_expand(skb, 0,
1054
					(ni->ni_vap->iv_dev->mtu + hdrlen) -
1054
					(ni->ni_vap->iv_dev->mtu + hdrlen) -
1055
					(skb->end - skb->head), GFP_ATOMIC);
1055
					(skb_end_pointer(skb) - skb->head), GFP_ATOMIC);
1056
				dev_kfree_skb(skb);
1056
				dev_kfree_skb(skb);
1057
			}
1057
			}
1058
		}
1058
		}
Lines 1066-1072 Link Here
1066
			 * we've verified that before
1066
			 * we've verified that before
1067
			 */
1067
			 */
1068
			/* Copy current fragment at end of previous one */
1068
			/* Copy current fragment at end of previous one */
1069
			memcpy(ni->ni_rxfrag->tail,
1069
			memcpy(skb_tail_pointer(ni->ni_rxfrag),
1070
			       skb->data + hdrlen, skb->len - hdrlen);
1070
			       skb->data + hdrlen, skb->len - hdrlen);
1071
			/* Update tail and length */
1071
			/* Update tail and length */
1072
			skb_put(ni->ni_rxfrag, skb->len - hdrlen);
1072
			skb_put(ni->ni_rxfrag, skb->len - hdrlen);
Lines 1136-1143 Link Here
1136
		}
1136
		}
1137
		if (skb1 != NULL) {
1137
		if (skb1 != NULL) {
1138
			skb1->dev = dev;
1138
			skb1->dev = dev;
1139
			skb1->mac.raw = skb1->data;
1139
			skb_reset_mac_header(skb1);
1140
			skb1->nh.raw = skb1->data + sizeof(struct ether_header);
1140
			skb_set_network_header(skb1, sizeof(struct ether_header));
1141
			skb1->protocol = __constant_htons(ETH_P_802_2);
1141
			skb1->protocol = __constant_htons(ETH_P_802_2);
1142
			/* XXX insert vlan tag before queue it? */
1142
			/* XXX insert vlan tag before queue it? */
1143
			dev_queue_xmit(skb1);
1143
			dev_queue_xmit(skb1);
Lines 2259-2265 Link Here
2259
		if (skb1 == NULL)
2259
		if (skb1 == NULL)
2260
			return;
2260
			return;
2261
		skb1->dev = dev;
2261
		skb1->dev = dev;
2262
		skb1->mac.raw = skb1->data;
2262
		skb_reset_mac_header(skb1);
2263
		skb1->ip_summed = CHECKSUM_NONE;
2263
		skb1->ip_summed = CHECKSUM_NONE;
2264
		skb1->pkt_type = PACKET_OTHERHOST;
2264
		skb1->pkt_type = PACKET_OTHERHOST;
2265
		skb1->protocol = __constant_htons(0x0019);  /* ETH_P_80211_RAW */
2265
		skb1->protocol = __constant_htons(0x0019);  /* ETH_P_80211_RAW */
Lines 2533-2540 Link Here
2533
	l2uf->xid[2] = 0x00;
2533
	l2uf->xid[2] = 0x00;
2534
	
2534
	
2535
	skb->dev = dev;
2535
	skb->dev = dev;
2536
	skb->protocol = eth_type_trans(skb, dev);
2536
	skb->pkt_type = PACKET_BROADCAST;
2537
	skb->mac.raw = skb->data;
2537
	skb->protocol = htons(ETH_P_802_2);
2538
	skb_reset_mac_header(skb);
2538
	ieee80211_deliver_data(ni, skb);
2539
	ieee80211_deliver_data(ni, skb);
2539
	return;
2540
	return;
2540
}
2541
}
Lines 3713-3726 Link Here
3713
{
3714
{
3714
	struct ethhdr *eth;
3715
	struct ethhdr *eth;
3715
	
3716
	
3716
	skb->mac.raw=skb->data;
3717
	skb_reset_mac_header(skb);
3717
	skb_pull(skb, ETH_HLEN);
3718
	skb_pull(skb, ETH_HLEN);
3718
	/*
3719
	/*
3719
	 * NB: mac.ethernet is replaced in 2.6.9 by eth_hdr but
3720
	 * NB: mac.ethernet is replaced in 2.6.9 by eth_hdr but
3720
	 *     since that's an inline and not a define there's
3721
	 *     since that's an inline and not a define there's
3721
	 *     no easy way to do this cleanly.
3722
	 *     no easy way to do this cleanly.
3722
	 */
3723
	 */
3723
	eth = (struct ethhdr *)skb->mac.raw;
3724
	eth = (struct ethhdr *)skb_mac_header(skb);
3724
	
3725
	
3725
	if (*eth->h_dest & 1)
3726
	if (*eth->h_dest & 1)
3726
		if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0)
3727
		if (memcmp(eth->h_dest, dev->broadcast, ETH_ALEN) == 0)
(-)madwifi-0.9.3.1/net80211/ieee80211_monitor.c.orig (-2 / +2 lines)
Lines 373-379 Link Here
373
		if (vap->iv_monitor_txf_len && tx) {
373
		if (vap->iv_monitor_txf_len && tx) {
374
			/* truncate transmit feedback packets */
374
			/* truncate transmit feedback packets */
375
			skb_trim(skb1, vap->iv_monitor_txf_len);
375
			skb_trim(skb1, vap->iv_monitor_txf_len);
376
			skb1->nh.raw = skb1->data;
376
			skb_reset_network_header(skb1);
377
		}
377
		}
378
		switch (vap->iv_dev->type) {
378
		switch (vap->iv_dev->type) {
379
		case ARPHRD_IEEE80211:
379
		case ARPHRD_IEEE80211:
Lines 555-561 Link Here
555
				skb_trim(skb1, skb1->len - IEEE80211_CRC_LEN);
555
				skb_trim(skb1, skb1->len - IEEE80211_CRC_LEN);
556
			}
556
			}
557
			skb1->dev = dev; /* NB: deliver to wlanX */
557
			skb1->dev = dev; /* NB: deliver to wlanX */
558
			skb1->mac.raw = skb1->data;
558
			skb_reset_mac_header(skb1);
559
			skb1->ip_summed = CHECKSUM_NONE;
559
			skb1->ip_summed = CHECKSUM_NONE;
560
			skb1->pkt_type = pkttype;
560
			skb1->pkt_type = pkttype;
561
			skb1->protocol = __constant_htons(0x0019); /* ETH_P_80211_RAW */
561
			skb1->protocol = __constant_htons(0x0019); /* ETH_P_80211_RAW */

Return to bug 184804