]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
ixgbe: Make certain to initialize the fdir_perfect_lock in all cases
authorAlexander Duyck <alexander.h.duyck@intel.com>
Thu, 2 Jun 2011 04:28:39 +0000 (04:28 +0000)
committerJoe Jin <joe.jin@oracle.com>
Fri, 3 Feb 2012 01:19:39 +0000 (09:19 +0800)
This fix makes it so that the fdir_perfect_lock is initialized in all
cases.  This is necessary as the fdir_filter_exit routine will always
attempt to take the lock before inspecting the filter table.

Reported-by: Ben Greear <greearb@candelatech.com>
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
(cherry picked from commit 1fc5f0386461dcb3fcbda7a8bcac87f7a822bc56)

Signed-off-by: Joe Jin <joe.jin@oracle.com>
drivers/net/ixgbe/ixgbe_main.c

index a75001608bc60daff17d5efdbf91dbdf7bd01d35..24475b93af53f6e6f155fa941fb1470ad3475421 100644 (file)
@@ -5211,8 +5211,6 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
                adapter->flags2 |= IXGBE_FLAG2_RSC_ENABLED;
                if (hw->device_id == IXGBE_DEV_ID_82599_T3_LOM)
                        adapter->flags2 |= IXGBE_FLAG2_TEMP_SENSOR_CAPABLE;
-               /* n-tuple support exists, always init our spinlock */
-               spin_lock_init(&adapter->fdir_perfect_lock);
                /* Flow Director hash filters enabled */
                adapter->flags |= IXGBE_FLAG_FDIR_HASH_CAPABLE;
                adapter->atr_sample_rate = 20;
@@ -5234,6 +5232,9 @@ static int __devinit ixgbe_sw_init(struct ixgbe_adapter *adapter)
                break;
        }
 
+       /* n-tuple support exists, always init our spinlock */
+       spin_lock_init(&adapter->fdir_perfect_lock);
+
 #ifdef CONFIG_IXGBE_DCB
        /* Configure DCB traffic classes */
        for (j = 0; j < MAX_TRAFFIC_CLASS; j++) {