Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 103a8ad1 authored by Nikolay Aleksandrov's avatar Nikolay Aleksandrov Committed by David S. Miller
Browse files

ethtool: add speed/duplex validation functions



Add functions which check if the speed/duplex are defined.

Signed-off-by: default avatarNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Acked-by: default avatarMichael S. Tsirkin <mst@redhat.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 13340a0a
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
@@ -1319,11 +1319,45 @@ enum ethtool_sfeatures_retval_bits {

#define SPEED_UNKNOWN		-1

static inline int ethtool_validate_speed(__u32 speed)
{
	switch (speed) {
	case SPEED_10:
	case SPEED_100:
	case SPEED_1000:
	case SPEED_2500:
	case SPEED_5000:
	case SPEED_10000:
	case SPEED_20000:
	case SPEED_25000:
	case SPEED_40000:
	case SPEED_50000:
	case SPEED_56000:
	case SPEED_100000:
	case SPEED_UNKNOWN:
		return 1;
	}

	return 0;
}

/* Duplex, half or full. */
#define DUPLEX_HALF		0x00
#define DUPLEX_FULL		0x01
#define DUPLEX_UNKNOWN		0xff

static inline int ethtool_validate_duplex(__u8 duplex)
{
	switch (duplex) {
	case DUPLEX_HALF:
	case DUPLEX_FULL:
	case DUPLEX_UNKNOWN:
		return 1;
	}

	return 0;
}

/* Which connector port. */
#define PORT_TP			0x00
#define PORT_AUI		0x01