OSDN Git Service

net/mlx5: Avoid printing health buffer when firmware is unavailable
authorAya Levin <ayal@nvidia.com>
Tue, 9 Nov 2021 13:44:58 +0000 (15:44 +0200)
committerSaeed Mahameed <saeedm@nvidia.com>
Wed, 17 Nov 2021 04:31:48 +0000 (20:31 -0800)
Use firmware version field as an indication to health buffer's sanity.
When firmware version is 0xFFFFFFFF, deduce that firmware is unavailable
and avoid printing the health buffer to dmesg as it doesn't provide
debug info.

Signed-off-by: Aya Levin <ayal@nvidia.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/health.c

index 64f1abc..75121bc 100644 (file)
@@ -420,6 +420,11 @@ static void print_health_info(struct mlx5_core_dev *dev)
        if (!ioread8(&h->synd))
                return;
 
+       if (ioread32be(&h->fw_ver) == 0xFFFFFFFF) {
+               mlx5_log(dev, LOGLEVEL_ERR, "PCI slot is unavailable\n");
+               return;
+       }
+
        rfr_severity = ioread8(&h->rfr_severity);
        severity  = mlx5_health_get_severity(rfr_severity);
        mlx5_log(dev, severity, "Health issue observed, %s, severity(%d) %s:\n",