Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 70afb8e5 authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman
Browse files

staging: vt6655: remove multiple instances of driver loading.



The driver can only load once from the instance provided
by pci_dev.

struct vnt_private next, prev and pDevice_Infos are removed.

Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent c28f3253
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -331,9 +331,6 @@ typedef struct __device_opt {
} OPTIONS, *POPTIONS;

struct vnt_private {
	struct vnt_private *next;
	struct vnt_private *prev;

	struct pci_dev *pcid;

#ifdef CONFIG_PM
+3 −28
Original line number Diff line number Diff line
@@ -247,7 +247,6 @@ DEVICE_PARAM(bDiversityANTEnable, "ANT diversity mode");
//

static int          device_nics             = 0;
static struct vnt_private *pDevice_Infos = NULL;
static struct net_device *root_device_dev = NULL;

static CHIP_INFO chip_info_table[] = {
@@ -979,19 +978,8 @@ static void vt6655_init_info(struct pci_dev *pcid,
			     struct vnt_private **ppDevice,
			     PCHIP_INFO pChip_info)
{
	struct vnt_private *p;

	memset(*ppDevice, 0, sizeof(**ppDevice));

	if (pDevice_Infos == NULL) {
		pDevice_Infos = *ppDevice;
	} else {
		for (p = pDevice_Infos; p->next != NULL; p = p->next)
			do {} while (0);
		p->next = *ppDevice;
		(*ppDevice)->prev = p;
	}

	(*ppDevice)->pcid = pcid;
	(*ppDevice)->chip_id = pChip_info->chip_id;
	(*ppDevice)->io_size = pChip_info->io_size;
@@ -1030,9 +1018,11 @@ static bool device_get_pci_info(struct vnt_private *pDevice,

static void device_free_info(struct vnt_private *pDevice)
{
	struct vnt_private *ptr;
	struct net_device *dev = pDevice->dev;

	if (!pDevice)
		return;

	ASSERT(pDevice);
//2008-0714-01<Add>by chester
	device_release_WPADEV(pDevice);
@@ -1042,21 +1032,6 @@ static void device_free_info(struct vnt_private *pDevice)
	if (wpa_set_wpadev(pDevice, 0) != 0)
		pr_err("unregister wpadev fail?\n");

	if (pDevice_Infos == NULL)
		return;

	for (ptr = pDevice_Infos; ptr && (ptr != pDevice); ptr = ptr->next)
		do {} while (0);

	if (ptr == pDevice) {
		if (ptr == pDevice_Infos)
			pDevice_Infos = ptr->next;
		else
			ptr->prev->next = ptr->next;
	} else {
		pr_err("info struct not found\n");
		return;
	}
#ifdef HOSTAP
	if (dev)
		vt6655_hostap_set_hostapd(pDevice, 0, 0);