forked from Minki/linux
linux-can-fixes-for-3.17-20140911
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEABECAAYFAlQRT78ACgkQjTAFq1RaXHPWdACeMBxR8SuasImK4tZSMZf7Sw7F 1bkAoJkftw6Aup9IV9uty4xohLb4pVgX =kha5 -----END PGP SIGNATURE----- Merge tag 'linux-can-fixes-for-3.17-20140911' of git://gitorious.org/linux-can/linux-can Marc Kleine-Budde says: ==================== pull-request: can 2014-09-11 this is a pull request for the current release cycle of a single patch. The patch by David Jander fixes a scheduling while atomic problem in the flexcan driver, that was introduced by me in v3.14-rc6. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
a7f8289d12
@ -298,7 +298,7 @@ static int flexcan_chip_enable(struct flexcan_priv *priv)
|
||||
flexcan_write(reg, ®s->mcr);
|
||||
|
||||
while (timeout-- && (flexcan_read(®s->mcr) & FLEXCAN_MCR_LPM_ACK))
|
||||
usleep_range(10, 20);
|
||||
udelay(10);
|
||||
|
||||
if (flexcan_read(®s->mcr) & FLEXCAN_MCR_LPM_ACK)
|
||||
return -ETIMEDOUT;
|
||||
@ -317,7 +317,7 @@ static int flexcan_chip_disable(struct flexcan_priv *priv)
|
||||
flexcan_write(reg, ®s->mcr);
|
||||
|
||||
while (timeout-- && !(flexcan_read(®s->mcr) & FLEXCAN_MCR_LPM_ACK))
|
||||
usleep_range(10, 20);
|
||||
udelay(10);
|
||||
|
||||
if (!(flexcan_read(®s->mcr) & FLEXCAN_MCR_LPM_ACK))
|
||||
return -ETIMEDOUT;
|
||||
@ -336,7 +336,7 @@ static int flexcan_chip_freeze(struct flexcan_priv *priv)
|
||||
flexcan_write(reg, ®s->mcr);
|
||||
|
||||
while (timeout-- && !(flexcan_read(®s->mcr) & FLEXCAN_MCR_FRZ_ACK))
|
||||
usleep_range(100, 200);
|
||||
udelay(100);
|
||||
|
||||
if (!(flexcan_read(®s->mcr) & FLEXCAN_MCR_FRZ_ACK))
|
||||
return -ETIMEDOUT;
|
||||
@ -355,7 +355,7 @@ static int flexcan_chip_unfreeze(struct flexcan_priv *priv)
|
||||
flexcan_write(reg, ®s->mcr);
|
||||
|
||||
while (timeout-- && (flexcan_read(®s->mcr) & FLEXCAN_MCR_FRZ_ACK))
|
||||
usleep_range(10, 20);
|
||||
udelay(10);
|
||||
|
||||
if (flexcan_read(®s->mcr) & FLEXCAN_MCR_FRZ_ACK)
|
||||
return -ETIMEDOUT;
|
||||
@ -370,7 +370,7 @@ static int flexcan_chip_softreset(struct flexcan_priv *priv)
|
||||
|
||||
flexcan_write(FLEXCAN_MCR_SOFTRST, ®s->mcr);
|
||||
while (timeout-- && (flexcan_read(®s->mcr) & FLEXCAN_MCR_SOFTRST))
|
||||
usleep_range(10, 20);
|
||||
udelay(10);
|
||||
|
||||
if (flexcan_read(®s->mcr) & FLEXCAN_MCR_SOFTRST)
|
||||
return -ETIMEDOUT;
|
||||
|
Loading…
Reference in New Issue
Block a user