[PATCH 2.5.8-pre1] pcnet_cs compile fixes

From: Stelian Pop (stelian.pop@fr.alcove.com)
Date: Thu Apr 04 2002 - 08:54:12 EST


This patch makes pcnet_cs compile again (removal of dev->rmem_start
and dev->rmem_end).

It compiles and works for me as intended, but maybe there is a cleaner
fix by someone who understands better the netdevice internals...

===== drivers/net/pcmcia/pcnet_cs.c 1.7 vs edited =====
--- 1.7/drivers/net/pcmcia/pcnet_cs.c Tue Feb 5 08:55:16 2002
+++ edited/drivers/net/pcmcia/pcnet_cs.c Thu Apr 4 11:27:47 2002
@@ -1460,7 +1460,8 @@
                                struct e8390_pkt_hdr *hdr,
                                int ring_page)
 {
- void *xfer_start = (void *)(dev->rmem_start + (ring_page << 8)
+ void *xfer_start = (void *)(dev->mem_start + (TX_PAGES<<8)
+ + (ring_page << 8)
                                 - (ei_status.rx_start_page << 8));
     
     copyin((void *)hdr, xfer_start, sizeof(struct e8390_pkt_hdr));
@@ -1473,17 +1474,18 @@
 static void shmem_block_input(struct net_device *dev, int count,
                               struct sk_buff *skb, int ring_offset)
 {
- void *xfer_start = (void *)(dev->rmem_start + ring_offset
+ void *xfer_start = (void *)(dev->mem_start + (TX_PAGES<<8)
+ + ring_offset
                                 - (ei_status.rx_start_page << 8));
     char *buf = skb->data;
     
- if (xfer_start + count > (void *)dev->rmem_end) {
+ if (xfer_start + count > (void *)dev->mem_end) {
         /* We must wrap the input move. */
- int semi_count = (void*)dev->rmem_end - xfer_start;
+ int semi_count = (void*)dev->mem_end - xfer_start;
         copyin(buf, xfer_start, semi_count);
         buf += semi_count;
         ring_offset = ei_status.rx_start_page << 8;
- xfer_start = (void *)dev->rmem_start;
+ xfer_start = (void *)dev->mem_start + (TX_PAGES<<8);
         count -= semi_count;
     }
     copyin(buf, xfer_start, count);
@@ -1548,8 +1550,7 @@
     }
     
     dev->mem_start = (u_long)info->base + offset;
- dev->rmem_start = dev->mem_start + (TX_PAGES<<8);
- dev->mem_end = dev->rmem_end = (u_long)info->base + req.Size;
+ dev->mem_end = (u_long)info->base + req.Size;
 
     ei_status.tx_start_page = start_pg;
     ei_status.rx_start_page = start_pg + TX_PAGES;

-- 
Stelian Pop <stelian.pop@fr.alcove.com>
Alcove - http://www.alcove.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Apr 07 2002 - 22:00:13 EST