[PATCH 2.5.8-pre1] pcnet_cs compile fixes

Stelian Pop (stelian.pop@fr.alcove.com)
Thu, 4 Apr 2002 15:54:12 +0200


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/