summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2021-12-13 15:06:00 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2021-12-13 23:37:32 +0100
commit2640f8973a068f0c14145835926271aaada618a3 (patch)
tree18096a4e71041b83c015ada3ae3fe71be47ea4bf
parent2d045825e09117c13510b90481b4b2fd1471318a (diff)
downloadbarebox-2640f8973a068f0c14145835926271aaada618a3.tar.gz
barebox-2640f8973a068f0c14145835926271aaada618a3.tar.xz
net: efi-snp: Check for carrier before sending
We have carrier informations available, so check them before sending a packet. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/net/efi-snp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/efi-snp.c b/drivers/net/efi-snp.c
index cc34ad5aaf..beab18ad6b 100644
--- a/drivers/net/efi-snp.c
+++ b/drivers/net/efi-snp.c
@@ -134,6 +134,9 @@ static int efi_snp_eth_send(struct eth_device *edev, void *packet, int length)
void *txbuf;
uint64_t start;
+ if (!priv->snp->Mode->MediaPresent)
+ return -ENOMEDIUM;
+
efiret = priv->snp->transmit(priv->snp, 0, length, packet, NULL, NULL, NULL);
if (EFI_ERROR(efiret)) {
dev_err(priv->dev, "failed to send: %s\n", efi_strerror(efiret));