i40e: don't use OR to check a value
authorJesse Brandeburg <jesse.brandeburg@intel.com>
Wed, 16 Apr 2014 01:21:40 +0000 (01:21 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Thu, 5 Jun 2014 08:20:06 +0000 (01:20 -0700)
A couple of FD checks ended up using bitwise OR to check
a value, which ends up always being evaluated to true.

This should fix the issue.  Thanks to DaveJ for noticing
and reporting the issue!

CC: Dave Jones <davej@redhat.com>
Reported-by: Dave Jones <davej@redhat.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_txrx.c

index 5a2218762db13bd90e5cafafdf8623049ec2ad79..1fe28ca182963d296e4babbf9c8bd4d982d8e769 100644 (file)
@@ -458,13 +458,13 @@ static void i40e_fd_handle_status(struct i40e_ring *rx_ring,
                 */
                if (fcnt_prog >= (fcnt_avail - I40E_FDIR_BUFFER_FULL_MARGIN)) {
                        /* Turn off ATR first */
-                       if (pf->flags | I40E_FLAG_FD_ATR_ENABLED) {
+                       if (pf->flags & I40E_FLAG_FD_ATR_ENABLED) {
                                pf->flags &= ~I40E_FLAG_FD_ATR_ENABLED;
                                dev_warn(&pdev->dev, "FD filter space full, ATR for further flows will be turned off\n");
                                pf->auto_disable_flags |=
                                                       I40E_FLAG_FD_ATR_ENABLED;
                                pf->flags |= I40E_FLAG_FDIR_REQUIRES_REINIT;
-                       } else if (pf->flags | I40E_FLAG_FD_SB_ENABLED) {
+                       } else if (pf->flags & I40E_FLAG_FD_SB_ENABLED) {
                                pf->flags &= ~I40E_FLAG_FD_SB_ENABLED;
                                dev_warn(&pdev->dev, "FD filter space full, new ntuple rules will not be added\n");
                                pf->auto_disable_flags |=