@@ -1027,14 +1027,20 @@ impl<'a> Interface<'a> {
1027
1027
#[ cfg( feature = "proto-ipv4-fragmentation" ) ]
1028
1028
match self . ipv4_egress ( device) {
1029
1029
Ok ( true ) => return Ok ( true ) ,
1030
- Err ( e) => return Err ( e) ,
1030
+ Err ( e) => {
1031
+ net_debug ! ( "failed to transmit: {}" , e) ;
1032
+ return Err ( e) ;
1033
+ }
1031
1034
_ => ( ) ,
1032
1035
}
1033
1036
1034
1037
#[ cfg( feature = "proto-sixlowpan-fragmentation" ) ]
1035
1038
match self . sixlowpan_egress ( device) {
1036
1039
Ok ( true ) => return Ok ( true ) ,
1037
- Err ( e) => return Err ( e) ,
1040
+ Err ( e) => {
1041
+ net_debug ! ( "failed to transmit: {}" , e) ;
1042
+ return Err ( e) ;
1043
+ }
1038
1044
_ => ( ) ,
1039
1045
}
1040
1046
@@ -1354,20 +1360,13 @@ impl<'a> Interface<'a> {
1354
1360
} = & self . out_packets . ipv4_out_packet ;
1355
1361
1356
1362
if * packet_len > * sent_bytes {
1357
- match device. transmit ( ) . ok_or ( Error :: Exhausted ) {
1358
- Ok ( tx_token) => {
1359
- if let Err ( e) = self
1360
- . inner
1361
- . dispatch_ipv4_out_packet ( tx_token, & mut self . out_packets . ipv4_out_packet )
1362
- {
1363
- net_debug ! ( "failed to transmit: {}" , e) ;
1364
- }
1365
- }
1366
- Err ( e) => {
1367
- net_debug ! ( "failed to transmit: {}" , e) ;
1368
- }
1363
+ match device. transmit ( ) {
1364
+ Some ( tx_token) => self
1365
+ . inner
1366
+ . dispatch_ipv4_out_packet ( tx_token, & mut self . out_packets . ipv4_out_packet ) ,
1367
+ None => Err ( Error :: Exhausted ) ,
1369
1368
}
1370
- Ok ( true )
1369
+ . map ( |_| true )
1371
1370
} else {
1372
1371
Ok ( false )
1373
1372
}
@@ -1398,20 +1397,14 @@ impl<'a> Interface<'a> {
1398
1397
}
1399
1398
1400
1399
if * packet_len > * sent_bytes {
1401
- match device. transmit ( ) . ok_or ( Error :: Exhausted ) {
1402
- Ok ( tx_token) => {
1403
- if let Err ( e) = self . inner . dispatch_ieee802154_out_packet (
1404
- tx_token,
1405
- & mut self . out_packets . sixlowpan_out_packet ,
1406
- ) {
1407
- net_debug ! ( "failed to transmit: {}" , e) ;
1408
- }
1409
- }
1410
- Err ( e) => {
1411
- net_debug ! ( "failed to transmit: {}" , e) ;
1412
- }
1400
+ match device. transmit ( ) {
1401
+ Some ( tx_token) => self . inner . dispatch_ieee802154_out_packet (
1402
+ tx_token,
1403
+ & mut self . out_packets . sixlowpan_out_packet ,
1404
+ ) ,
1405
+ None => Err ( Error :: Exhausted ) ,
1413
1406
}
1414
- Ok ( true )
1407
+ . map ( |_| true )
1415
1408
} else {
1416
1409
Ok ( false )
1417
1410
}
0 commit comments