diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/ntb/hw/intel/ntb_hw_intel.c | 22 |
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 | ||
