diff options
Diffstat (limited to 'drivers/net/pcmcia/pcnet_cs.c')
| -rw-r--r-- | drivers/net/pcmcia/pcnet_cs.c | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c index 9c5fc9dfc55d..c3edfe4c2651 100644 --- a/drivers/net/pcmcia/pcnet_cs.c +++ b/drivers/net/pcmcia/pcnet_cs.c | |||
| @@ -301,7 +301,6 @@ static hw_info_t *get_hwinfo(struct pcmcia_device *link) | |||
| 301 | { | 301 | { |
| 302 | struct net_device *dev = link->priv; | 302 | struct net_device *dev = link->priv; |
| 303 | win_req_t req; | 303 | win_req_t req; |
| 304 | memreq_t mem; | ||
| 305 | u_char __iomem *base, *virt; | 304 | u_char __iomem *base, *virt; |
| 306 | int i, j; | 305 | int i, j; |
| 307 | 306 | ||
| @@ -314,10 +313,8 @@ static hw_info_t *get_hwinfo(struct pcmcia_device *link) | |||
| 314 | return NULL; | 313 | return NULL; |
| 315 | 314 | ||
| 316 | virt = ioremap(req.Base, req.Size); | 315 | virt = ioremap(req.Base, req.Size); |
| 317 | mem.Page = 0; | ||
| 318 | for (i = 0; i < NR_INFO; i++) { | 316 | for (i = 0; i < NR_INFO; i++) { |
| 319 | mem.CardOffset = hw_info[i].offset & ~(req.Size-1); | 317 | pcmcia_map_mem_page(link, link->win, hw_info[i].offset & ~(req.Size-1)); |
| 320 | pcmcia_map_mem_page(link, link->win, &mem); | ||
| 321 | base = &virt[hw_info[i].offset & (req.Size-1)]; | 318 | base = &virt[hw_info[i].offset & (req.Size-1)]; |
| 322 | if ((readb(base+0) == hw_info[i].a0) && | 319 | if ((readb(base+0) == hw_info[i].a0) && |
| 323 | (readb(base+2) == hw_info[i].a1) && | 320 | (readb(base+2) == hw_info[i].a1) && |
| @@ -1463,7 +1460,6 @@ static int setup_shmem_window(struct pcmcia_device *link, int start_pg, | |||
| 1463 | struct net_device *dev = link->priv; | 1460 | struct net_device *dev = link->priv; |
| 1464 | pcnet_dev_t *info = PRIV(dev); | 1461 | pcnet_dev_t *info = PRIV(dev); |
| 1465 | win_req_t req; | 1462 | win_req_t req; |
| 1466 | memreq_t mem; | ||
| 1467 | int i, window_size, offset, ret; | 1463 | int i, window_size, offset, ret; |
| 1468 | 1464 | ||
| 1469 | window_size = (stop_pg - start_pg) << 8; | 1465 | window_size = (stop_pg - start_pg) << 8; |
| @@ -1482,11 +1478,9 @@ static int setup_shmem_window(struct pcmcia_device *link, int start_pg, | |||
| 1482 | if (ret) | 1478 | if (ret) |
| 1483 | goto failed; | 1479 | goto failed; |
| 1484 | 1480 | ||
| 1485 | mem.CardOffset = (start_pg << 8) + cm_offset; | 1481 | offset = (start_pg << 8) + cm_offset; |
| 1486 | offset = mem.CardOffset % window_size; | 1482 | offset -= offset % window_size; |
| 1487 | mem.CardOffset -= offset; | 1483 | ret = pcmcia_map_mem_page(link, link->win, offset); |
| 1488 | mem.Page = 0; | ||
| 1489 | ret = pcmcia_map_mem_page(link, link->win, &mem); | ||
| 1490 | if (ret) | 1484 | if (ret) |
| 1491 | goto failed; | 1485 | goto failed; |
| 1492 | 1486 | ||
