aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--os/io/platforms/AT91SAM7X/mac_lld.c4
-rw-r--r--os/io/platforms/AT91SAM7X/mac_lld.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/os/io/platforms/AT91SAM7X/mac_lld.c b/os/io/platforms/AT91SAM7X/mac_lld.c
index e770e0474..55874bab8 100644
--- a/os/io/platforms/AT91SAM7X/mac_lld.c
+++ b/os/io/platforms/AT91SAM7X/mac_lld.c
@@ -269,7 +269,7 @@ void mac_lld_release_transmit_descriptor(MACDriver *macp,
*/
uint8_t *mac_lld_get_transmit_buffer(MACTransmitDescriptor *tdp) {
- return NULL;
+ return (uint8_t *)(tdp->w1 & W1_T_ADDRESS_MASK);
}
/**
@@ -307,7 +307,7 @@ void mac_lld_release_receive_descriptor(MACDriver *macp,
*/
uint8_t *mac_lld_get_receive_buffer(MACReceiveDescriptor *rdp) {
- return NULL;
+ return (uint8_t *)(rdp->w1 & W1_R_ADDRESS_MASK);
}
/** @} */
diff --git a/os/io/platforms/AT91SAM7X/mac_lld.h b/os/io/platforms/AT91SAM7X/mac_lld.h
index c854c0029..a3ba3decd 100644
--- a/os/io/platforms/AT91SAM7X/mac_lld.h
+++ b/os/io/platforms/AT91SAM7X/mac_lld.h
@@ -76,6 +76,8 @@
#define W2_R_MULTICAST_MATCH 0x40000000
#define W2_R_BROADCAST_DETECTED 0x80000000
+#define W1_T_ADDRESS_MASK 0xFFFFFFFF
+
#define W2_T_LENGTH_MASK 0x000007FF
#define W2_T_LOCKED 0x00000800 /* Not an EMAC flag, used by the driver */
#define W2_T_RFU1 0x00003000