Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/mlx4/mlx4_en/mlx4_en_main.c
Show First 20 Lines • Show All 113 Lines • ▼ Show 20 Lines | static void mlx4_en_event(struct mlx4_dev *dev, void *endev_ptr, | ||||
struct mlx4_en_dev *mdev = (struct mlx4_en_dev *) endev_ptr; | struct mlx4_en_dev *mdev = (struct mlx4_en_dev *) endev_ptr; | ||||
struct mlx4_en_priv *priv; | struct mlx4_en_priv *priv; | ||||
switch (event) { | switch (event) { | ||||
case MLX4_DEV_EVENT_PORT_UP: | case MLX4_DEV_EVENT_PORT_UP: | ||||
case MLX4_DEV_EVENT_PORT_DOWN: | case MLX4_DEV_EVENT_PORT_DOWN: | ||||
if (!mdev->pndev[port]) | if (!mdev->pndev[port]) | ||||
return; | return; | ||||
priv = netdev_priv(mdev->pndev[port]); | priv = mlx4_netdev_priv(mdev->pndev[port]); | ||||
/* To prevent races, we poll the link state in a separate | /* To prevent races, we poll the link state in a separate | ||||
task rather than changing it here */ | task rather than changing it here */ | ||||
priv->link_state = event; | priv->link_state = event; | ||||
queue_work(mdev->workqueue, &priv->linkstate_task); | queue_work(mdev->workqueue, &priv->linkstate_task); | ||||
break; | break; | ||||
case MLX4_DEV_EVENT_CATASTROPHIC_ERROR: | case MLX4_DEV_EVENT_CATASTROPHIC_ERROR: | ||||
mlx4_err(mdev, "Internal error detected, restarting device\n"); | mlx4_err(mdev, "Internal error detected, restarting device\n"); | ||||
▲ Show 20 Lines • Show All 191 Lines • Show Last 20 Lines |