check five times the receive buffers because a remote interrupt could pass the mail
This commit is contained in:
parent
ef750e1c31
commit
54b1c3e6ac
1 changed files with 18 additions and 15 deletions
|
@ -207,6 +207,7 @@ int iRCCE_mail_check(int sender) {
|
||||||
return iRCCE_MAILBOX_CLOSED;
|
return iRCCE_MAILBOX_CLOSED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(i=0; i<5; i++) {
|
||||||
RC_cache_invalidate();
|
RC_cache_invalidate();
|
||||||
if( iRCCE_mailbox_recv[sender]->sent ) {
|
if( iRCCE_mailbox_recv[sender]->sent ) {
|
||||||
/* disable interrupts */
|
/* disable interrupts */
|
||||||
|
@ -222,10 +223,12 @@ int iRCCE_mail_check(int sender) {
|
||||||
irq_nested_enable(flags);
|
irq_nested_enable(flags);
|
||||||
|
|
||||||
return iRCCE_SUCCESS;
|
return iRCCE_SUCCESS;
|
||||||
} else {
|
|
||||||
return iRCCE_MAILBOX_EMPTY;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
NOP8;
|
||||||
|
}
|
||||||
|
|
||||||
|
return iRCCE_MAILBOX_EMPTY;
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Add table
Reference in a new issue