* [PATCH] via-rhine: fix wait-bit inversion.
@ 2012-04-01 22:35 Francois Romieu
2012-04-02 3:10 ` David Miller
0 siblings, 1 reply; 3+ messages in thread
From: Francois Romieu @ 2012-04-01 22:35 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev, Andreas Mohr, David Lv
From: Andreas Mohr <andi@lisas.de>
Bug appeared in a384a33bb1c9ec2d99db2046b41f57023fa7d77b
("via-rhine: RHINE_WAIT_FOR macro removal). It can be noticed
during suspend/resume.
Signed-off-by: Andreas Mohr <andi@lisas.de>
Acked-by: Francois Romieu <romieu@fr.zoreil.com>
Cc: David Lv <DavidLv@viatech.com.cn>
---
It should be fed to 3.3-stable.
drivers/net/ethernet/via/via-rhine.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/via/via-rhine.c b/drivers/net/ethernet/via/via-rhine.c
index 39b8cf3..fcfa01f 100644
--- a/drivers/net/ethernet/via/via-rhine.c
+++ b/drivers/net/ethernet/via/via-rhine.c
@@ -503,30 +503,32 @@ static int rhine_vlan_rx_add_vid(struct net_device *dev, unsigned short vid);
static int rhine_vlan_rx_kill_vid(struct net_device *dev, unsigned short vid);
static void rhine_restart_tx(struct net_device *dev);
-static void rhine_wait_bit(struct rhine_private *rp, u8 reg, u8 mask, bool high)
+static void rhine_wait_bit(struct rhine_private *rp, u8 reg, u8 mask, bool low)
{
void __iomem *ioaddr = rp->base;
int i;
for (i = 0; i < 1024; i++) {
- if (high ^ !!(ioread8(ioaddr + reg) & mask))
+ bool has_mask_bits = !!(ioread8(ioaddr + reg) & mask);
+
+ if (low ^ has_mask_bits)
break;
udelay(10);
}
if (i > 64) {
netif_dbg(rp, hw, rp->dev, "%s bit wait (%02x/%02x) cycle "
- "count: %04d\n", high ? "high" : "low", reg, mask, i);
+ "count: %04d\n", low ? "low" : "high", reg, mask, i);
}
}
static void rhine_wait_bit_high(struct rhine_private *rp, u8 reg, u8 mask)
{
- rhine_wait_bit(rp, reg, mask, true);
+ rhine_wait_bit(rp, reg, mask, false);
}
static void rhine_wait_bit_low(struct rhine_private *rp, u8 reg, u8 mask)
{
- rhine_wait_bit(rp, reg, mask, false);
+ rhine_wait_bit(rp, reg, mask, true);
}
static u32 rhine_get_events(struct rhine_private *rp)
--
1.7.7.6
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] via-rhine: fix wait-bit inversion.
2012-04-01 22:35 [PATCH] via-rhine: fix wait-bit inversion Francois Romieu
@ 2012-04-02 3:10 ` David Miller
2012-04-02 5:43 ` Andreas Mohr
0 siblings, 1 reply; 3+ messages in thread
From: David Miller @ 2012-04-02 3:10 UTC (permalink / raw)
To: romieu; +Cc: netdev, andi, DavidLv
From: Francois Romieu <romieu@fr.zoreil.com>
Date: Mon, 2 Apr 2012 00:35:00 +0200
> From: Andreas Mohr <andi@lisas.de>
>
> Bug appeared in a384a33bb1c9ec2d99db2046b41f57023fa7d77b
> ("via-rhine: RHINE_WAIT_FOR macro removal). It can be noticed
> during suspend/resume.
>
> Signed-off-by: Andreas Mohr <andi@lisas.de>
> Acked-by: Francois Romieu <romieu@fr.zoreil.com>
> Cc: David Lv <DavidLv@viatech.com.cn>
Applied and queued up for -stable, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] via-rhine: fix wait-bit inversion.
2012-04-02 3:10 ` David Miller
@ 2012-04-02 5:43 ` Andreas Mohr
0 siblings, 0 replies; 3+ messages in thread
From: Andreas Mohr @ 2012-04-02 5:43 UTC (permalink / raw)
To: David Miller; +Cc: romieu, netdev, andi, DavidLv
Hi,
On Sun, Apr 01, 2012 at 11:10:44PM -0400, David Miller wrote:
> From: Francois Romieu <romieu@fr.zoreil.com>
> Date: Mon, 2 Apr 2012 00:35:00 +0200
>
> > From: Andreas Mohr <andi@lisas.de>
> >
> > Bug appeared in a384a33bb1c9ec2d99db2046b41f57023fa7d77b
> > ("via-rhine: RHINE_WAIT_FOR macro removal). It can be noticed
> > during suspend/resume.
> >
> > Signed-off-by: Andreas Mohr <andi@lisas.de>
> > Acked-by: Francois Romieu <romieu@fr.zoreil.com>
> > Cc: David Lv <DavidLv@viatech.com.cn>
>
> Applied and queued up for -stable, thanks.
Fully happy with all "automatisms" (Signed-off-by etc. -
I didn't bother at that time for such a minor step),
thank you for very fast/cooperative handling to all involved parties!
Side note (not mentioned yet): that fix was sufficient to get HEAD
(well, at least f2cedb63df14342) working, too.
Thanks,
Andreas Mohr
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-04-02 5:53 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-01 22:35 [PATCH] via-rhine: fix wait-bit inversion Francois Romieu
2012-04-02 3:10 ` David Miller
2012-04-02 5:43 ` Andreas Mohr
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).