Commit 763ec4c3 authored by Daniel Verkamp's avatar Daniel Verkamp Committed by Jim Harris
Browse files

nvme/uevent: use env PCI addr helper functions



Change-Id: I6010465d573decd93ddf9881392b3d807cd52918
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/366663


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 0ac06e08
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -43,7 +43,6 @@
#include <linux/netlink.h>

#define SPDK_UEVENT_MSG_LEN 4096
#define TRADDR_FMT "%.4" PRIx16 ":%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8

int
spdk_uevent_connect(void)
@@ -89,7 +88,6 @@ spdk_uevent_connect(void)
static int
parse_event(const char *buf, struct spdk_uevent *event)
{
	int ret;
	char action[SPDK_UEVENT_MSG_LEN];
	char subsystem[SPDK_UEVENT_MSG_LEN];
	char dev_path[SPDK_UEVENT_MSG_LEN];
@@ -115,7 +113,7 @@ parse_event(const char *buf, struct spdk_uevent *event)

	if (!strncmp(subsystem, "uio", 3)) {
		char *pci_address, *tmp;
		unsigned int domain, bus, dev, func;
		struct spdk_pci_addr pci_addr;

		event->subsystem = SPDK_NVME_UEVENT_SUBSYSTEM_UIO;
		if (!strncmp(action, "add", 3)) {
@@ -130,11 +128,11 @@ parse_event(const char *buf, struct spdk_uevent *event)

		pci_address = strrchr(dev_path, '/');
		pci_address++;
		ret = sscanf(pci_address, "%x:%x:%x.%x", &domain, &bus, &dev, &func);
		if (ret != 4) {
		if (spdk_pci_addr_parse(&pci_addr, pci_address) != 0) {
			SPDK_ERRLOG("Invalid format for NVMe BDF: %s\n", pci_address);
			return -1;
		}
		snprintf(event->traddr, sizeof(event->traddr), TRADDR_FMT, domain, bus, dev, func);
		spdk_pci_addr_fmt(event->traddr, sizeof(event->traddr), &pci_addr);
		return 1;
	}
	return -1;