Re: [PATCH 1/1] Net: e100, fix iomap mem accesses

Jeff Garzik
2008-01-18T19:39:10Z

Jiri Slaby wrote:
> readX functions are not permitted on iomap-ped space change to ioreadX,
> also pci_unmap pci_map-ped space on exit (instead of iounmap).
>
> Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
> ---
> drivers/net/e100.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/e100.c b/drivers/net/e100.c
> index 51cf577..47548ef 100644
> --- a/drivers/net/e100.c
> +++ b/drivers/net/e100.c
> @@ -1836,7 +1836,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
> if ((le16_to_cpu(rfd->command) & cb_el) &&
> (RU_RUNNING == nic->ru_running))
>
> - if (readb(&nic->csr->scb.status) & rus_no_res)
> + if (ioread8(&nic->csr->scb.status) & rus_no_res)
> nic->ru_running = RU_SUSPENDED;
> return -ENODATA;
> }
> @@ -1859,7 +1859,7 @@ static int e100_rx_indicate(struct nic *nic, struct rx *rx,
> if ((le16_to_cpu(rfd->command) & cb_el) &&
> (RU_RUNNING == nic->ru_running)) {
>
> - if (readb(&nic->csr->scb.status) & rus_no_res)
> + if (ioread8(&nic->csr->scb.status) & rus_no_res)
> nic->ru_running = RU_SUSPENDED;
> }
>
> @@ -1958,7 +1958,7 @@ static void e100_rx_clean(struct nic *nic, unsigned int *work_done,
>
> if(restart_required) {
> // ack the rnr?
> - writeb(stat_ack_rnr, &nic->csr->scb.stat_ack);
> + iowrite8(stat_ack_rnr, &nic->csr->scb.stat_ack);
> e100_start_receiver(nic, nic->rx_to_clean);
> if(work_done)
> (*work_done)++;
> @@ -2774,7 +2774,7 @@ static void __devexit e100_remove(struct pci_dev *pdev)
> struct nic *nic = netdev_priv(netdev);
> unregister_netdev(netdev);
> e100_free(nic);
> - iounmap(nic->csr);
> + pci_iounmap(pdev, nic->csr);
> free_netdev(netdev);
> pci_release_regions(pdev);

ACK, but patch doesn't seem to apply...