Commit 2407116e authored by Devesh Sharma's avatar Devesh Sharma Committed by Roland Dreier
Browse files

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: default avatarDevesh Sharma <devesh.sharma@emulex.com>
Signed-off-by: default avatarSelvin Xavier <selvin.xavier@emulex.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent b6b87d2e
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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))
+3 −0
Original line number Diff line number Diff line
@@ -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);