xilinx_axidma: Do not set DMA .notify to NULL after notify

If a stream notify function is not ready, it may re-populate the notify call-
back to indicate it should be re-polled later. This break in this usage, as
immediately following the notify() call, .notify is set to NULL. reverse the
ordering of the notify call and NULL assignment accordingly.

[PC: Reworked commit message]

Signed-off-by: Wendy Liang <jliang@xilinx.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
This commit is contained in:
Wendy Liang 2013-06-07 13:05:38 +10:00 committed by Edgar E. Iglesias
parent 4e298e46dd
commit 4f293bd6e5

View File

@ -514,8 +514,9 @@ static void axidma_write(void *opaque, hwaddr addr,
break;
}
if (sid == 1 && d->notify) {
d->notify(d->notify_opaque);
StreamCanPushNotifyFn notifytmp = d->notify;
d->notify = NULL;
notifytmp(d->notify_opaque);
}
stream_update_irq(s);
}