@@ -1027,14 +1027,20 @@ impl<'a> Interface<'a> {
10271027 #[ cfg( feature = "proto-ipv4-fragmentation" ) ]
10281028 match self . ipv4_egress ( device) {
10291029 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+ }
10311034 _ => ( ) ,
10321035 }
10331036
10341037 #[ cfg( feature = "proto-sixlowpan-fragmentation" ) ]
10351038 match self . sixlowpan_egress ( device) {
10361039 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+ }
10381044 _ => ( ) ,
10391045 }
10401046
@@ -1354,20 +1360,13 @@ impl<'a> Interface<'a> {
13541360 } = & self . out_packets . ipv4_out_packet ;
13551361
13561362 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 ) ,
13691368 }
1370- Ok ( true )
1369+ . map ( |_| true )
13711370 } else {
13721371 Ok ( false )
13731372 }
@@ -1398,20 +1397,14 @@ impl<'a> Interface<'a> {
13981397 }
13991398
14001399 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 ) ,
14131406 }
1414- Ok ( true )
1407+ . map ( |_| true )
14151408 } else {
14161409 Ok ( false )
14171410 }
0 commit comments