aboutsummaryrefslogtreecommitdiff
path: root/embassy-net-driver-channel/src/lib.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2023-08-25 01:03:39 +0200
committerDario Nieuwenhuis <[email protected]>2023-08-25 20:45:23 +0200
commit100200d021bbf650f7dd569414ee52b2d5ac10f0 (patch)
treed4308682fe87cef7f26335ad9cf4c4297d0a7c14 /embassy-net-driver-channel/src/lib.rs
parentb5748524f86f809d9c8dc2c5b4bb3f07e55dbda1 (diff)
net-driver-channel: do not hardcode medium to ethernet.
Diffstat (limited to 'embassy-net-driver-channel/src/lib.rs')
-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.