瀏覽代碼

mlx4_core: Do not map BF area if capability is 0

BF can be disabled in some cases, the capability field, bf_reg_size is set
to zero in this case. Don't map the BF area in this case, it would cause
failures.  In addition, leaving the BF area unmapped
also alerts the ETH driver to not use BF.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jack Morgenstein 13 年之前
父節點
當前提交
3d7474734b
共有 1 個文件被更改,包括 3 次插入0 次删除
  1. 3 0
      drivers/net/ethernet/mellanox/mlx4/main.c

+ 3 - 0
drivers/net/ethernet/mellanox/mlx4/main.c

@@ -986,6 +986,9 @@ static int map_bf_area(struct mlx4_dev *dev)
 	resource_size_t bf_len;
 	int err = 0;
 
+	if (!dev->caps.bf_reg_size)
+		return -ENXIO;
+
 	bf_start = pci_resource_start(dev->pdev, 2) +
 			(dev->caps.num_uars << PAGE_SHIFT);
 	bf_len = pci_resource_len(dev->pdev, 2) -