forked from Minki/linux
be2net: Add abi version between be2net and ocrdma
This patch adds abi versioning between be2net and ocrdma driver modules to catch functional incompatibilities in the two drivers. Signed-off-by: Devesh Sharma <devesh.sharma@emulex.com> Signed-off-by: Selvin Xavier <selvin.xavier@emulex.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
This commit is contained in:
parent
b6b87d2e69
commit
2407116ef9
@ -35,6 +35,12 @@ static void _be_roce_dev_add(struct be_adapter *adapter)
|
||||
|
||||
if (!ocrdma_drv)
|
||||
return;
|
||||
|
||||
if (ocrdma_drv->be_abi_version != BE_ROCE_ABI_VERSION) {
|
||||
dev_warn(&pdev->dev, "Cannot initialize RoCE due to ocrdma ABI mismatch\n");
|
||||
return;
|
||||
}
|
||||
|
||||
if (pdev->device == OC_DEVICE_ID5) {
|
||||
/* only msix is supported on these devices */
|
||||
if (!msix_enabled(adapter))
|
||||
|
@ -21,6 +21,8 @@
|
||||
#include <linux/pci.h>
|
||||
#include <linux/netdevice.h>
|
||||
|
||||
#define BE_ROCE_ABI_VERSION 1
|
||||
|
||||
struct ocrdma_dev;
|
||||
|
||||
enum be_interrupt_mode {
|
||||
@ -52,6 +54,7 @@ struct be_dev_info {
|
||||
/* ocrdma driver register's the callback functions with nic driver. */
|
||||
struct ocrdma_driver {
|
||||
unsigned char name[32];
|
||||
u32 be_abi_version;
|
||||
struct ocrdma_dev *(*add) (struct be_dev_info *dev_info);
|
||||
void (*remove) (struct ocrdma_dev *);
|
||||
void (*state_change_handler) (struct ocrdma_dev *, u32 new_state);
|
||||
|
Loading…
Reference in New Issue
Block a user