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

Commit 894ff7cf authored by Alexander Duyck's avatar Alexander Duyck Committed by Jeff Kirsher
Browse files

ixgbe: balance free_irq calls with request_irq calls



We were incorrectly freeing IRQs that we had not requested.  This change
corrects that by making certain we only free q_vectors that we have
requested IRQs for.

Signed-off-by: default avatarAlexander Duyck <alexander.h.duyck@intel.com>
Tested-by: default avatarRoss Brattain <ross.b.brattain@intel.com>
Tested-by: default avatarStephen Ko <stephen.s.ko@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent dbf893ee
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -2597,6 +2597,11 @@ static void ixgbe_free_irq(struct ixgbe_adapter *adapter)

		i--;
		for (; i >= 0; i--) {
			/* free only the irqs that were actually requested */
			if (!adapter->q_vector[i]->rxr_count &&
			    !adapter->q_vector[i]->txr_count)
				continue;

			free_irq(adapter->msix_entries[i].vector,
				 adapter->q_vector[i]);
		}