Commit 5459f652 authored by Maher Sanalla's avatar Maher Sanalla Committed by Leon Romanovsky
Browse files

IB/cache: Add log messages for IB device state changes



Enhance visibility into IB device state transitions by adding log messages
to the kernel log (dmesg). Whenever an IB device changes state, a relevant
print will be printed, such as:

"mlx5_core 0000:08:00.0 mlx5_0: Port: 1 Link DOWN"
"mlx5_core 0000:08:00.0 rdmap8s0f0: Port: 2 Link ACTIVE"

Signed-off-by: default avatarMaher Sanalla <msanalla@nvidia.com>
Link: https://patch.msgid.link/2d26ccbd669bad99089fa2aebb5cba4014fc4999.1738586601.git.leon@kernel.org


Signed-off-by: default avatarLeon Romanovsky <leon@kernel.org>
parent 656dff55
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1501,6 +1501,12 @@ ib_cache_update(struct ib_device *device, u32 port, bool update_gids,
		device->port_data[port].cache.pkey = pkey_cache;
	}
	device->port_data[port].cache.lmc = tprops->lmc;

	if (device->port_data[port].cache.port_state != IB_PORT_NOP &&
	    device->port_data[port].cache.port_state != tprops->state)
		ibdev_info(device, "Port: %d Link %s\n", port,
			   ib_port_state_to_str(tprops->state));

	device->port_data[port].cache.port_state = tprops->state;

	device->port_data[port].cache.subnet_prefix = tprops->subnet_prefix;
+17 −0
Original line number Diff line number Diff line
@@ -519,6 +519,23 @@ enum ib_port_state {
	IB_PORT_ACTIVE_DEFER	= 5
};

static inline const char *__attribute_const__
ib_port_state_to_str(enum ib_port_state state)
{
	const char * const states[] = {
		[IB_PORT_NOP] = "NOP",
		[IB_PORT_DOWN] = "DOWN",
		[IB_PORT_INIT] = "INIT",
		[IB_PORT_ARMED] = "ARMED",
		[IB_PORT_ACTIVE] = "ACTIVE",
		[IB_PORT_ACTIVE_DEFER] = "ACTIVE_DEFER",
	};

	if (state < ARRAY_SIZE(states))
		return states[state];
	return "UNKNOWN";
}

enum ib_port_phys_state {
	IB_PORT_PHYS_STATE_SLEEP = 1,
	IB_PORT_PHYS_STATE_POLLING = 2,