1. 29 8月, 2011 3 次提交
    • J
      [SCSI] lpfc 8.3.26: Fix SYSFS interface issues · f7a919b4
      James Smart 提交于
      Fix SYSFS interface issues.
      
      - In the lpfc_sli4_pdev_status_reg_wait() routine, after initial 100ms delay
        following write to PHYSDEV_CONTROL register for the firmware reaction, check
        the RN bit and ERR bit of the SLIPORT_STATUS register. If none of them
        became 1, the previous PHYSDEV_CONTROL register should be considered failed
        due to lack of privilege and error for no permission should be returned
        immediately without getting into the wait for RDY bits on the SLIPORT_STATUS
        register.
      - Remove the driver check on dev->is_physfn before proceed to perform the
        PHYSDEV_CONTROL register write, and let the PCI function's privilege
        setting and driver handling of PHYSDEV_CONTROL register write failure to
        handle the reset-ability through the SLI port.
      - Added key to ctlreg_write to prevent unauthorized or unexpected write to
        the control register.
      - Change return to EACCES for sysfs access that are failed because hba_reset
        is disabled.
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      f7a919b4
    • J
      [SCSI] lpfc 8.3.26: Fix HBA initialization issues · 079b5c91
      James Smart 提交于
      Fix HBA initialization issues
      
      - Swap all values that come from the firmware image on little endian systems.
        Created a new bf_get_be macro that does the same as the bf_get_le macro but
        for big endian data instead of little endian data.
      - Moved the incrementing of temp_offset after the copy
        fixed the write object loop to use temp_offset to figure out where the end
        of the image is instead of offset.
      - Added the necessary codes for properly bringing the driver instance offline
        and then trying to bring the port back online with the PCI function IP reset.
        If it fails to bring the SLI port back online, it will fall through to
        bringing the SLI port to HBA error offline.
      - Add a call in the probe_one_s3 and probe_one_s4 routines to get the Modeldesc
      - Change OCe50100 to OCe15100
      - Made the error log also include the PCI BAR bitmap returned from kernel call
        pci_select_bars().
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      079b5c91
    • J
      [SCSI] lpfc 8.3.26: Fix issues pertaining to SCSI/FC protocol. · bf08611b
      James Smart 提交于
      Fix issues pertaining to SCSI/FC protocol.
      
      - Allow frames destined to 0xFFFFFE to be processed by the driver by matching
        that DID with the physical port.
      - Call lpfc_sli_issue_iocb with context1 set to ndlp
      - In echo command accept function, adjust memcpy to limit memcpy to 1K
      - Set LPFC_SLI3_BG_ENABLED properly upon completion.
      - Skip the INIT_VFI call in lpfc_register_fcf if the FCF is already
        registered and go immediately to initial flogi.
      - use "status" variable instead of "ret" variable to hold the return of the
        fc_block_scsi_eh.
      Signed-off-by: NAlex Iannicelli <alex.iannicelli@emulex.com>
      Signed-off-by: NJames Smart <james.smart@emulex.com>
      Signed-off-by: NJames Bottomley <JBottomley@Parallels.com>
      bf08611b
  2. 27 7月, 2011 8 次提交
  3. 21 7月, 2011 1 次提交
    • P
      treewide: fix potentially dangerous trailing ';' in #defined values/expressions · 497888cf
      Phil Carmody 提交于
      All these are instances of
        #define NAME value;
      or
        #define NAME(params_opt) value;
      
      These of course fail to build when used in contexts like
        if(foo $OP NAME)
        while(bar $OP NAME)
      and may silently generate the wrong code in contexts such as
        foo = NAME + 1;    /* foo = value; + 1; */
        bar = NAME - 1;    /* bar = value; - 1; */
        baz = NAME & quux; /* baz = value; & quux; */
      
      Reported on comp.lang.c,
      Message-ID: <ab0d55fe-25e5-482b-811e-c475aa6065c3@c29g2000yqd.googlegroups.com>
      Initial analysis of the dangers provided by Keith Thompson in that thread.
      
      There are many more instances of more complicated macros having unnecessary
      trailing semicolons, but this pile seems to be all of the cases of simple
      values suffering from the problem. (Thus things that are likely to be found
      in one of the contexts above, more complicated ones aren't.)
      Signed-off-by: NPhil Carmody <ext-phil.2.carmody@nokia.com>
      Signed-off-by: NJiri Kosina <jkosina@suse.cz>
      497888cf
  4. 29 6月, 2011 1 次提交
  5. 27 5月, 2011 6 次提交
  6. 10 5月, 2011 1 次提交
  7. 02 5月, 2011 5 次提交
  8. 01 5月, 2011 1 次提交
  9. 10 4月, 2011 1 次提交
  10. 31 3月, 2011 1 次提交
  11. 24 3月, 2011 6 次提交
  12. 17 3月, 2011 1 次提交
  13. 01 3月, 2011 2 次提交
  14. 19 2月, 2011 3 次提交