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 { if r.events_error().read() != 0 {
r.events_error().write_value(0); r.events_error().write_value(0);
r.tasks_stop().write_value(1); r.tasks_stop().write_value(1);
let errorsrc = r.errorsrc().read(); if let Err(e) = self.check_errorsrc() {
if errorsrc.overrun() { return Poll::Ready(Err(e));
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));
} else { } else {
return Poll::Ready(Err(Error::Bus)); return Poll::Ready(Err(Error::Bus));
} }