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

Commit caefe526 authored by Michael Chan's avatar Michael Chan Committed by David S. Miller
Browse files

bnxt_en: Change bp->state to bitmap.



This allows multiple independent bits to be set for various states.
Subsequent patches to implement tx timeout reset will require this.

Signed-off-by: default avatarMichael Chan <mchan@broadcom.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent de68f5de
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -4602,7 +4602,7 @@ static int __bnxt_open_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
			bp->nge_port_cnt = 1;
	}

	bp->state = BNXT_STATE_OPEN;
	set_bit(BNXT_STATE_OPEN, &bp->state);
	bnxt_enable_int(bp);
	/* Enable TX queues */
	bnxt_tx_enable(bp);
@@ -4678,7 +4678,7 @@ int bnxt_close_nic(struct bnxt *bp, bool irq_re_init, bool link_re_init)
	/* Change device state to avoid TX queue wake up's */
	bnxt_tx_disable(bp);

	bp->state = BNXT_STATE_CLOSED;
	clear_bit(BNXT_STATE_OPEN, &bp->state);
	cancel_work_sync(&bp->sp_task);

	/* Flush rings before disabling interrupts */
@@ -5080,7 +5080,7 @@ static void bnxt_sp_task(struct work_struct *work)
	struct bnxt *bp = container_of(work, struct bnxt, sp_task);
	int rc;

	if (bp->state != BNXT_STATE_OPEN)
	if (!test_bit(BNXT_STATE_OPEN, &bp->state))
		return;

	if (test_and_clear_bit(BNXT_RX_MASK_SP_EVENT, &bp->sp_event))
@@ -5185,7 +5185,7 @@ static int bnxt_init_board(struct pci_dev *pdev, struct net_device *dev)
	bp->timer.function = bnxt_timer;
	bp->current_interval = BNXT_TIMER_INTERVAL;

	bp->state = BNXT_STATE_CLOSED;
	clear_bit(BNXT_STATE_OPEN, &bp->state);

	return 0;

+2 −3
Original line number Diff line number Diff line
@@ -925,9 +925,8 @@ struct bnxt {

	struct timer_list	timer;

	int			state;
#define BNXT_STATE_CLOSED	0
#define BNXT_STATE_OPEN		1
	unsigned long		state;
#define BNXT_STATE_OPEN		0

	struct bnxt_irq	*irq_tbl;
	u8			mac_addr[ETH_ALEN];
+1 −1
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@
#ifdef CONFIG_BNXT_SRIOV
static int bnxt_vf_ndo_prep(struct bnxt *bp, int vf_id)
{
	if (bp->state != BNXT_STATE_OPEN) {
	if (!test_bit(BNXT_STATE_OPEN, &bp->state)) {
		netdev_err(bp->dev, "vf ndo called though PF is down\n");
		return -EINVAL;
	}