public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [Bug 98261] New: Misleading indentation in drivers/scsi/bfa/bfa_ioc.c: bfa_cb_sfp_state_query
@ 2015-05-13 18:26 bugzilla-daemon
  0 siblings, 0 replies; only message in thread
From: bugzilla-daemon @ 2015-05-13 18:26 UTC (permalink / raw)
  To: linux-scsi

https://bugzilla.kernel.org/show_bug.cgi?id=98261

            Bug ID: 98261
           Summary: Misleading indentation in drivers/scsi/bfa/bfa_ioc.c:
                    bfa_cb_sfp_state_query
           Product: SCSI Drivers
           Version: 2.5
    Kernel Version: 4.0.3
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Other
          Assignee: scsi_drivers-other@kernel-bugs.osdl.org
          Reporter: dmalcolm@redhat.com
        Regression: No

In linux-4.0.3/drivers/scsi/bfa/bfa_ioc.c: bfa_cb_sfp_state_query, the
indentation doesn't reflect the actual block structure:

  3659  static void
  3660  bfa_cb_sfp_state_query(struct bfa_sfp_s *sfp)
  3661  {
  3662          bfa_trc(sfp, sfp->portspeed);
  3663          if (sfp->media) {
  3664                  bfa_sfp_media_get(sfp);
  3665                  if (sfp->state_query_cbfn)
  3666                          sfp->state_query_cbfn(sfp->state_query_cbarg,
  3667                                          sfp->status);
  3668                          sfp->media = NULL;
  3669                  }
  3670  
  3671                  if (sfp->portspeed) {
  3672                          sfp->status = bfa_sfp_speed_valid(sfp,
sfp->portspeed);
  3673                          if (sfp->state_query_cbfn)
  3674                                 
sfp->state_query_cbfn(sfp->state_query_cbarg,
  3675                                                  sfp->status);
  3676                                  sfp->portspeed =
BFA_PORT_SPEED_UNKNOWN;
  3677                  }
  3678  
  3679                  sfp->state_query_lock = 0;
  3680                  sfp->state_query_cbfn = NULL;
  3681  }

Note how the "if" at line 3665 does not have an opening brace.  Lines 3666-3668
are indented as if guarded by it, but only lines 3666-3667 are.  The closing
brace at line 3669 looks from the indentation as if it relates to line 3665,
but it actually relates to line 3663.

Hence although lines 3671 onwards are indented as if guarded by the "if" at
line 3663, they are not.

There's also an issue at line 3676, which is indented as if guarded by the "if"
at line 3673, but isn't.

Seen via an experimental new gcc warning I'm working on for gcc 6,
-Wmisleading-indentation, using gcc r223098 adding
-Werror=misleading-indentation" to KBUILD_CFLAGS in Makefile, where the
experimental gcc emits these errors:

drivers/scsi/bfa/bfa_ioc.c: In function ‘bfa_cb_sfp_state_query’:
drivers/scsi/bfa/bfa_ioc.c:3668:4: error: statement is indented as if it were
guarded by... [-Werror=misleading-indentation]
    sfp->media = NULL;
    ^
drivers/scsi/bfa/bfa_ioc.c:3665:3: note: ...this ‘if’ clause, but it is not
   if (sfp->state_query_cbfn)
   ^
drivers/scsi/bfa/bfa_ioc.c:3676:5: error: statement is indented as if it were
guarded by... [-Werror=misleading-indentation]
     sfp->portspeed = BFA_PORT_SPEED_UNKNOWN;
     ^
drivers/scsi/bfa/bfa_ioc.c:3673:4: note: ...this ‘if’ clause, but it is not
    if (sfp->state_query_cbfn)
    ^

-- 
You are receiving this mail because:
You are watching the assignee of the bug.--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2015-05-13 18:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-13 18:26 [Bug 98261] New: Misleading indentation in drivers/scsi/bfa/bfa_ioc.c: bfa_cb_sfp_state_query bugzilla-daemon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox