use check_errorsrc instead of matching again on errorsrc bits

This commit is contained in:
dragonn 2025-01-08 14:19:25 +01:00
parent ec2ab822b8
commit 0316ef86cb

View File

@ -347,13 +347,8 @@ impl<'d, T: Instance> Twim<'d, T> {
if r.events_error().read() != 0 {
r.events_error().write_value(0);
r.tasks_stop().write_value(1);
let errorsrc = r.errorsrc().read();
if errorsrc.overrun() {
return Poll::Ready(Err(Error::Overrun));
} else if errorsrc.anack() {
return Poll::Ready(Err(Error::AddressNack));
} else if errorsrc.dnack() {
return Poll::Ready(Err(Error::DataNack));
if let Err(e) = self.check_errorsrc() {
return Poll::Ready(Err(e));
} else {
return Poll::Ready(Err(Error::Bus));
}