09 Mar, 2010

1 commit

  • The issue occur while deleting 60 virtual ports through the sys
    interface /sys/class/fc_vports/vport-X/vport_delete. It happen while in
    a mistake each request sent twice for the same vport. This interface is
    asynchronous, entering the delete request into a work queue, allowing
    more than one request to enter to the delete work queue. The result is a
    NULL pointer. The first request already delete the vport, while the
    second request got a pointer to the vport before the device destroyed.
    Re-create vport later cause system freeze.

    Solution: Check vport flags before entering the request to the work queue.

    [jejb: fixed intlong problem on spinlock flags variable]
    Signed-off-by: Gal Rosen
    Acked-by: James Smart
    Cc: Stable Tree
    Signed-off-by: James Bottomley

    Gal Rosen
     

07 Mar, 2010

22 commits


04 Mar, 2010

8 commits

  • bfad.c & bfad_drv.h:
    * Created a kernel thread from pci_probe that does the bfad start
    operations after BFA init done on a firmware mismatch.
    * The kernel thread on a fw mismatch waits for an event from IOC
    call back and is woken up from bfa_cb_init() on BFA init success.
    * In normal cases of no firmware mismatch this thread is terminated
    in pci_probe.

    bfa_fcs_lport.c, fabric.c, fcs_lport.h & vport.c:
    * Split the lport init to attach time and init time code, so that
    proper config attributes are set after firmware mismatch.

    bfa_iocfc.c:
    * Handle an IOC timer issue, where the IOC timer would expire before
    the init completion and send Init fail event to the driver,
    however IOC init continues and completes successfully at the later
    stage. The bfa and driver were not handling this kind of deferred
    init completion.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • Brocade CNA currently supports only 190 vports (instead of 191),
    since there are only 192 unicast cam entries reserved for FCoE.

    Brocade CNA has a total of 256 unicast cam entries (192 FCoE + 64 LL)

    192 cam entries = 1 burned in mac + 1 baseport FPMA mac + 190 vport
    FPMA macs.

    Made changes to the code to support only 190 vports.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • Split bfa_fcs_init() into bfa_fcs_attach() and bfa_fcs_init().

    Removed empty function definitions in FCS modules

    Modified driver to call bfa_fcs_attach() and bfa_fcs_init() as needed.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • Added a FCS function to be called during driver init, to set the FDMI
    Driver parameter.

    fdmi.c: Created a disabled state when fdmi is disabled.

    bfad.c:
    * Added fdmi_enable driver parameter.
    * Added support to call bfa_fcs_set_fdmi_param() to initialize fcs
    fdmi setting.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • bfa_intr.c: Enable new halt interrupt in BFA.
    bfi_ctreg.h: Expose new halt interrupt bit definition to host.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • bfa_ioc.c:
    - Enable IOC auto-recovery by default.
    - When CNA is in FC mode, return IOC type as FC (not FCoE)

    bfa_iocfc.c:
    - Set fcmode before pci initialization/setup.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • Clear virtual links was not propagated upwards to bfa from fw.
    This resulted in HBA and switch being in an inconsistent state.

    So defined a new LPS event for clear virtual link on a vport,
    and also now clear virtual link on a baseport, is sent as a
    link down event from the fw.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     
  • Added separate MSI-X module parameters to selectively
    enable / disable MSI-X interrupts for both Brocade HBA and CNA's.

    Signed-off-by: Krishna Gudipati
    Signed-off-by: James Bottomley

    Krishna Gudipati
     

03 Mar, 2010

9 commits