2008-01-17 22:28:33

by Jiri Slaby

[permalink] [raw]
Subject: [PATCH 1/1] Net: e100, fix iomap mem accesses

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 <[email protected]>
---
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);
pci_disable_device(pdev);
--
1.5.3.7


2008-01-18 19:39:10

by Jeff Garzik

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

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 <[email protected]>
> ---
> 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...

2008-01-18 19:41:28

by Jiri Slaby

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

On 01/18/2008 08:38 PM, Jeff Garzik wrote:
> 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 <[email protected]>
>> ---
>> 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...

It's against 2.6.24-rc8-mm1. Doesn't apply against net.git?

2008-01-28 05:34:49

by Andrew Morton

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

On Fri, 18 Jan 2008 14:38:51 -0500 Jeff Garzik <[email protected]> wrote:

> 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 <[email protected]>
> > ---
> > 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...

It's been a week, nothing seems to have happened and the e100 maintainers
are asleep.

Please resend when convenient. Maybe more luodly or something, I dunno.

2008-01-28 22:32:56

by Kok, Auke

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

Andrew Morton wrote:
> On Fri, 18 Jan 2008 14:38:51 -0500 Jeff Garzik <[email protected]> wrote:
>
>> 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 <[email protected]>
>>> ---
>>> 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...
>
> It's been a week, nothing seems to have happened and the e100 maintainers
> are asleep.

not asleep, just pleasantly stuck on an atol in the south pacific, far far away
from LCA :)

> Please resend when convenient. Maybe more luodly or something, I dunno.

just repost to me and Jeff and I'll pick it up this week if Jeff does not.

I think the recent non-cache coherent fixes might have messed up the merge.

Auke

2008-01-28 23:45:38

by Jiri Slaby

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

On 01/28/2008 11:31 PM, Kok, Auke wrote:
> Andrew Morton wrote:
>> Please resend when convenient. Maybe more luodly or something, I dunno.
>
> just repost to me and Jeff and I'll pick it up this week if Jeff does not.

Sent few hours ago, you should had received a copy, hadn't you?

2008-01-29 21:47:42

by Kok, Auke

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

Jiri Slaby wrote:
> On 01/28/2008 11:31 PM, Kok, Auke wrote:
>> Andrew Morton wrote:
>>> Please resend when convenient. Maybe more luodly or something, I dunno.
>>
>> just repost to me and Jeff and I'll pick it up this week if Jeff does
>> not.
>
> Sent few hours ago, you should had received a copy, hadn't you?

nothing yet, can you resend it to me again?

Auke

2008-01-29 21:49:07

by Jiri Slaby

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

On 01/29/2008 10:43 PM, Kok, Auke wrote:
> Jiri Slaby wrote:
>> On 01/28/2008 11:31 PM, Kok, Auke wrote:
>>> Andrew Morton wrote:
>>>> Please resend when convenient. Maybe more luodly or something, I dunno.
>>> just repost to me and Jeff and I'll pick it up this week if Jeff does
>>> not.
>> Sent few hours ago, you should had received a copy, hadn't you?
>
> nothing yet, can you resend it to me again?

Sure, in a moment.

thanks,
--js

2008-01-29 21:49:33

by Jiri Slaby

[permalink] [raw]
Subject: [PATCH 1/1] Net: e100, fix iomap mem accesses

Patch against netdev-2.6 follows.
--
writeX functions are not permitted on iomap-ped space change to iowriteX,
also pci_unmap pci_map-ped space on exit (instead of iounmap).

Signed-off-by: Jiri Slaby <[email protected]>
---
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
@@ -1904,7 +1904,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, rx_to_start);
if(work_done)
(*work_done)++;
@@ -2706,7 +2706,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);
pci_disable_device(pdev);
--
1.5.3.7

2008-01-30 16:29:29

by Kok, Auke

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

Jiri Slaby wrote:
> Patch against netdev-2.6 follows.
> --
> writeX functions are not permitted on iomap-ped space change to iowriteX,
> also pci_unmap pci_map-ped space on exit (instead of iounmap).
>
> Signed-off-by: Jiri Slaby <[email protected]>
> ---
> 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
> @@ -1904,7 +1904,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, rx_to_start);
> if(work_done)
> (*work_done)++;
> @@ -2706,7 +2706,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);
> pci_disable_device(pdev);


Acked-By: Auke Kok <[email protected]>

Jeff, feel free to merge in upstream-fixes.

Cheers,

Auke

2008-02-01 18:53:22

by Jeff Garzik

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

Jiri Slaby wrote:
> Patch against netdev-2.6 follows.
> --
> writeX functions are not permitted on iomap-ped space change to iowriteX,
> also pci_unmap pci_map-ped space on exit (instead of iounmap).
>
> Signed-off-by: Jiri Slaby <[email protected]>
> ---
> drivers/net/e100.c | 8 ++++----
> 1 files changed, 4 insertions(+), 4 deletions(-)

applied