aboutsummaryrefslogtreecommitdiff
path: root/embassy-net-driver-channel
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-net-driver-channel')
-rw-r--r--embassy-net-driver-channel/src/lib.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/embassy-net-driver-channel/src/lib.rs b/embassy-net-driver-channel/src/lib.rs
index 076238ba0..f23c04416 100644
--- a/embassy-net-driver-channel/src/lib.rs
+++ b/embassy-net-driver-channel/src/lib.rs
@@ -8,6 +8,7 @@ use core::cell::RefCell;
8use core::mem::MaybeUninit; 8use core::mem::MaybeUninit;
9use core::task::{Context, Poll}; 9use core::task::{Context, Poll};
10 10
11use driver::HardwareAddress;
11pub use embassy_net_driver as driver; 12pub use embassy_net_driver as driver;
12use embassy_net_driver::{Capabilities, LinkState, Medium}; 13use embassy_net_driver::{Capabilities, LinkState, Medium};
13use embassy_sync::blocking_mutex::raw::NoopRawMutex; 14use embassy_sync::blocking_mutex::raw::NoopRawMutex;
@@ -218,7 +219,11 @@ pub fn new<'d, const MTU: usize, const N_RX: usize, const N_TX: usize>(
218) -> (Runner<'d, MTU>, Device<'d, MTU>) { 219) -> (Runner<'d, MTU>, Device<'d, MTU>) {
219 let mut caps = Capabilities::default(); 220 let mut caps = Capabilities::default();
220 caps.max_transmission_unit = MTU; 221 caps.max_transmission_unit = MTU;
221 caps.medium = Medium::Ethernet; 222 caps.medium = match &hardware_address {
223 HardwareAddress::Ethernet(_) => Medium::Ethernet,
224 HardwareAddress::Ieee802154(_) => Medium::Ieee802154,
225 HardwareAddress::Ip => Medium::Ip,
226 };
222 227
223 // safety: this is a self-referential struct, however: 228 // safety: this is a self-referential struct, however:
224 // - it can't move while the `'d` borrow is active. 229 // - it can't move while the `'d` borrow is active.