aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/ntb/hw/intel/ntb_hw_intel.c22
1 files changed, 16 insertions, 6 deletions
diff --git a/drivers/ntb/hw/intel/ntb_hw_intel.c b/drivers/ntb/hw/intel/ntb_hw_intel.c
index c2bc56b67e63..fc6af2da8df0 100644
--- a/drivers/ntb/hw/intel/ntb_hw_intel.c
+++ b/drivers/ntb/hw/intel/ntb_hw_intel.c
@@ -575,10 +575,13 @@ static ssize_t ndev_debugfs_read(struct file *filp, char __user *ubuf,
575 "Connection Topology -\t%s\n", 575 "Connection Topology -\t%s\n",
576 ntb_topo_string(ndev->ntb.topo)); 576 ntb_topo_string(ndev->ntb.topo));
577 577
578 off += scnprintf(buf + off, buf_size - off, 578 if (ndev->b2b_idx != UINT_MAX) {
579 "B2B Offset -\t\t%#lx\n", ndev->b2b_off); 579 off += scnprintf(buf + off, buf_size - off,
580 off += scnprintf(buf + off, buf_size - off, 580 "B2B MW Idx -\t\t%u\n", ndev->b2b_idx);
581 "B2B MW Idx -\t\t%d\n", ndev->b2b_idx); 581 off += scnprintf(buf + off, buf_size - off,
582 "B2B Offset -\t\t%#lx\n", ndev->b2b_off);
583 }
584
582 off += scnprintf(buf + off, buf_size - off, 585 off += scnprintf(buf + off, buf_size - off,
583 "BAR4 Split -\t\t%s\n", 586 "BAR4 Split -\t\t%s\n",
584 ndev->bar4_split ? "yes" : "no"); 587 ndev->bar4_split ? "yes" : "no");
@@ -1487,7 +1490,7 @@ static int xeon_setup_b2b_mw(struct intel_ntb_dev *ndev,
1487 pdev = ndev_pdev(ndev); 1490 pdev = ndev_pdev(ndev);
1488 mmio = ndev->self_mmio; 1491 mmio = ndev->self_mmio;
1489 1492
1490 if (ndev->b2b_idx >= ndev->mw_count) { 1493 if (ndev->b2b_idx == UINT_MAX) {
1491 dev_dbg(ndev_dev(ndev), "not using b2b mw\n"); 1494 dev_dbg(ndev_dev(ndev), "not using b2b mw\n");
1492 b2b_bar = 0; 1495 b2b_bar = 0;
1493 ndev->b2b_off = 0; 1496 ndev->b2b_off = 0;
@@ -1779,6 +1782,13 @@ static int xeon_init_ntb(struct intel_ntb_dev *ndev)
1779 else 1782 else
1780 ndev->b2b_idx = b2b_mw_idx; 1783 ndev->b2b_idx = b2b_mw_idx;
1781 1784
1785 if (ndev->b2b_idx >= ndev->mw_count) {
1786 dev_dbg(ndev_dev(ndev),
1787 "b2b_mw_idx %d invalid for mw_count %u\n",
1788 b2b_mw_idx, ndev->mw_count);
1789 return -EINVAL;
1790 }
1791
1782 dev_dbg(ndev_dev(ndev), 1792 dev_dbg(ndev_dev(ndev),
1783 "setting up b2b mw idx %d means %d\n", 1793 "setting up b2b mw idx %d means %d\n",
1784 b2b_mw_idx, ndev->b2b_idx); 1794 b2b_mw_idx, ndev->b2b_idx);
@@ -2008,7 +2018,7 @@ static inline void ndev_init_struct(struct intel_ntb_dev *ndev,
2008 ndev->ntb.ops = &intel_ntb_ops; 2018 ndev->ntb.ops = &intel_ntb_ops;
2009 2019
2010 ndev->b2b_off = 0; 2020 ndev->b2b_off = 0;
2011 ndev->b2b_idx = INT_MAX; 2021 ndev->b2b_idx = UINT_MAX;
2012 2022
2013 ndev->bar4_split = 0; 2023 ndev->bar4_split = 0;
2014 2024