NTB: Add Error Handling in ntb_device_setup
If an error is encountered in ntb_device_setup, it is possible that the spci_cmd isn't populated. Writes to the offset can result in a NULL pointer dereference. This issue is easily encountered by running in NTB-RP mode, as it currently is not supported and will generate an error. To get around this issue, return if an error is encountered prior to attempting to write to the spci_cmd offset. Signed-off-by: Jon Mason <jon.mason@intel.com>
This commit is contained in:
parent
6e4664525b
commit
3b12a0d15b
|
@ -644,10 +644,13 @@ static int ntb_device_setup(struct ntb_device *ndev)
|
|||
rc = -ENODEV;
|
||||
}
|
||||
|
||||
if (rc)
|
||||
return rc;
|
||||
|
||||
/* Enable Bus Master and Memory Space on the secondary side */
|
||||
writew(PCI_COMMAND_MEMORY | PCI_COMMAND_MASTER, ndev->reg_ofs.spci_cmd);
|
||||
|
||||
return rc;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ntb_device_free(struct ntb_device *ndev)
|
||||
|
|
Loading…
Reference in New Issue