mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-19 10:44:14 +08:00
soc/fsl/qbman: Fix drain_mr_fqni()
The drain_mr_fqni() function may be called fron uninterruptable context so convert the msleep() to an mdelay(). Also ensure that the valid bit is updated while polling. Signed-off-by: Roy Pledge <roy.pledge@nxp.com> Signed-off-by: Li Yang <leoyang.li@nxp.com>
This commit is contained in:
parent
c5501aa92a
commit
627da8bad5
@ -1164,6 +1164,7 @@ static int drain_mr_fqrni(struct qm_portal *p)
|
||||
{
|
||||
const union qm_mr_entry *msg;
|
||||
loop:
|
||||
qm_mr_pvb_update(p);
|
||||
msg = qm_mr_current(p);
|
||||
if (!msg) {
|
||||
/*
|
||||
@ -1180,7 +1181,8 @@ loop:
|
||||
* entries well before the ring has been fully consumed, so
|
||||
* we're being *really* paranoid here.
|
||||
*/
|
||||
msleep(1);
|
||||
mdelay(1);
|
||||
qm_mr_pvb_update(p);
|
||||
msg = qm_mr_current(p);
|
||||
if (!msg)
|
||||
return 0;
|
||||
|
Loading…
Reference in New Issue
Block a user