pcmcia patches for 2.1.86

C. Scott Ananian (cananian@lcs.mit.edu)
Wed, 11 Feb 1998 04:19:54 -0500 (EST)


The attached patch fixes David Hind's pcmcia modules to work with 2.1.86.
The patch handles the prototype change to dev_kfree_skb, and is downward
compatible (the pcmcia modules will still work on kernels earlier than
2.1.86 after the patch is applied).

Share and enjoy.
--Scott
@ @
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-oOO-(_)-OOo-=-=-=-=-=
C. Scott Ananian: cananian@lcs.mit.edu / Declare the Truth boldly and
Laboratory for Computer Science/Crypto / without hindrance.
Massachusetts Institute of Technology /META-PARRESIAS AKOLUTOS:Acts 28:31
-.-. .-.. .. ..-. ..-. --- .-. -.. ... -.-. --- - - .- -. .- -. .. .- -.
PGP key available via finger and from http://www.pdos.lcs.mit.edu/~cananian

diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/include/pcmcia/k_compat.h pcmcia-cs-3.0.0-16-Jan-98/include/pcmcia/k_compat.h
--- pcmcia-cs-3.0.0-16-Jan-98-orig/include/pcmcia/k_compat.h Wed Feb 11 04:02:32 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/include/pcmcia/k_compat.h Wed Feb 11 04:08:20 1998
@@ -204,3 +204,9 @@ char kernel_version[] = UTS_RELEASE;
#endif

+#if (LINUX_VERSION_CODE < VERSION(2,1,86))
+#define DEV_KFREE_SKB(skb, type) dev_kfree_skb(skb, type)
+#else
+#define DEV_KFREE_SKB(skb, type) dev_kfree_skb(skb)
+#endif
+
#endif /* _LINUX_K_COMPAT_H */
diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/modules/3c589_cs.c pcmcia-cs-3.0.0-16-Jan-98/modules/3c589_cs.c
--- pcmcia-cs-3.0.0-16-Jan-98-orig/modules/3c589_cs.c Wed Feb 11 04:02:32 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/modules/3c589_cs.c Wed Feb 11 04:09:27 1998
@@ -720,5 +720,5 @@ static int el3_start_xmit(struct sk_buff
}

- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);

/* Clear the Tx status stack. */
diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/modules/fmvj18x_cs.c pcmcia-cs-3.0.0-16-Jan-98/modules/fmvj18x_cs.c
--- pcmcia-cs-3.0.0-16-Jan-98-orig/modules/fmvj18x_cs.c Wed Feb 11 04:02:32 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/modules/fmvj18x_cs.c Wed Feb 11 04:09:44 1998
@@ -834,5 +834,5 @@ static int fjn_start_xmit(struct sk_buff
outb(D_RX_INTR, ioaddr + RX_INTR);
}
- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);

return 0;
diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/modules/netwave_cs.c pcmcia-cs-3.0.0-16-Jan-98/modules/netwave_cs.c
--- pcmcia-cs-3.0.0-16-Jan-98-orig/modules/netwave_cs.c Wed Feb 11 04:02:33 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/modules/netwave_cs.c Wed Feb 11 04:10:05 1998
@@ -1232,5 +1232,5 @@ static int netwave_start_xmit(struct sk_
dev->trans_start = jiffies;
}
- dev_kfree_skb(skb, FREE_WRITE);
+ DEV_KFREE_SKB(skb, FREE_WRITE);

return 0;
diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/modules/nmclan_cs.c pcmcia-cs-3.0.0-16-Jan-98/modules/nmclan_cs.c
--- pcmcia-cs-3.0.0-16-Jan-98-orig/modules/nmclan_cs.c Wed Feb 11 04:02:33 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/modules/nmclan_cs.c Wed Feb 11 04:10:21 1998
@@ -1201,5 +1201,5 @@ static int mace_start_xmit(struct sk_buf
#endif /* #if (!TX_INTERRUPTABLE) */

- dev_kfree_skb(skb, FREE_WRITE);
+ DEV_KFREE_SKB(skb, FREE_WRITE);

return 0;
diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/modules/smc91c92_cs.c pcmcia-cs-3.0.0-16-Jan-98/modules/smc91c92_cs.c
--- pcmcia-cs-3.0.0-16-Jan-98-orig/modules/smc91c92_cs.c Wed Feb 11 04:02:33 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/modules/smc91c92_cs.c Wed Feb 11 04:10:35 1998
@@ -1177,5 +1177,5 @@ static void smc_hardware_send_packet( st
printk(KERN_WARNING "%s: 91c92 hardware Tx buffer allocation"
" failed, status %#2.2x.\n", dev->name, packet_no);
- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);
lp->saved_skb = NULL;
dev->tbusy = 0;
@@ -1227,5 +1227,5 @@ static void smc_hardware_send_packet( st

lp->saved_skb = NULL;
- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);
dev->trans_start = jiffies;
dev->tbusy = 0;
@@ -1289,5 +1289,5 @@ static int smc_start_xmit(struct sk_buff
if (num_pages > 7) {
printk(KERN_ERR "%s: Far too big packet error.\n", dev->name);
- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);
lp->saved_skb = NULL;
lp->stats.tx_dropped++;
diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/modules/wavelan_cs.c pcmcia-cs-3.0.0-16-Jan-98/modules/wavelan_cs.c
--- pcmcia-cs-3.0.0-16-Jan-98-orig/modules/wavelan_cs.c Wed Feb 11 04:02:33 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/modules/wavelan_cs.c Wed Feb 11 04:10:58 1998
@@ -2570,5 +2570,5 @@ wavelan_packet_xmit(struct sk_buff * skb
}

- dev_kfree_skb(skb, FREE_WRITE);
+ DEV_KFREE_SKB(skb, FREE_WRITE);

#ifdef DEBUG_TX_TRACE
diff -rHp -U2 pcmcia-cs-3.0.0-16-Jan-98-orig/modules/xirc2ps_cs.c pcmcia-cs-3.0.0-16-Jan-98/modules/xirc2ps_cs.c
--- pcmcia-cs-3.0.0-16-Jan-98-orig/modules/xirc2ps_cs.c Wed Feb 11 04:02:33 1998
+++ pcmcia-cs-3.0.0-16-Jan-98/modules/xirc2ps_cs.c Wed Feb 11 04:11:18 1998
@@ -1600,5 +1600,5 @@ do_start_xmit(struct sk_buff *skb, struc

if( lp->suspended ) {
- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);
dev->trans_start = jiffies;
lp->stats.tx_dropped++;
@@ -1622,5 +1622,5 @@ do_start_xmit(struct sk_buff *skb, struc
}
if( skb->len <= 0 ) {
- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);
#ifdef PCMCIA_DEBUG
if( pc_debug )
@@ -1633,5 +1633,5 @@ do_start_xmit(struct sk_buff *skb, struc
if( test_and_set_bit(0, (void*)&dev->tbusy ) ) {
printk(KWRN_XIRC "transmitter access conflict\n");
- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);
return 0;
}
@@ -1672,5 +1672,5 @@ do_start_xmit(struct sk_buff *skb, struc
PutByte(XIRCREG_CR, TransmitPacket|EnableIntr );

- dev_kfree_skb (skb, FREE_WRITE);
+ DEV_KFREE_SKB (skb, FREE_WRITE);
dev->trans_start = jiffies;
dev->tbusy = 0;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu