|
|
@@ -1060,6 +1060,13 @@ static int ntb_transport_probe(struct ntb_client *self, struct ntb_dev *ndev)
|
|
|
int node;
|
|
|
int rc, i;
|
|
|
|
|
|
+ mw_count = ntb_mw_count(ndev);
|
|
|
+ if (ntb_spad_count(ndev) < (NUM_MWS + 1 + mw_count * 2)) {
|
|
|
+ dev_err(&ndev->dev, "Not enough scratch pad registers for %s",
|
|
|
+ NTB_TRANSPORT_NAME);
|
|
|
+ return -EIO;
|
|
|
+ }
|
|
|
+
|
|
|
if (ntb_db_is_unsafe(ndev))
|
|
|
dev_dbg(&ndev->dev,
|
|
|
"doorbell is unsafe, proceed anyway...\n");
|
|
|
@@ -1075,8 +1082,6 @@ static int ntb_transport_probe(struct ntb_client *self, struct ntb_dev *ndev)
|
|
|
|
|
|
nt->ndev = ndev;
|
|
|
|
|
|
- mw_count = ntb_mw_count(ndev);
|
|
|
-
|
|
|
nt->mw_count = mw_count;
|
|
|
|
|
|
nt->mw_vec = kzalloc_node(mw_count * sizeof(*nt->mw_vec),
|