?? changelog.lpfc
字號:
* Make lpfc_sli_hba_setup() return negative error codes on error and correct the comment left over in lpfc_fcp.c * Removed the lpfc_loadtime variable. * Put a space between all ifs and their open parens '('. * Change Studly_Caps LPFC_SCSI_BUF_t to struct lpfc_scsi_buf. * Fixed insmod hang after hardware error. * Relocated scsi_host alloc to before we enable the interrupt handler * Add .tmp_versions directory to Makefile clean target. This directory is created in the 2.6.5+ build process (with Red Hat kernels at least). * Changing phba->config to kmalloc lpfc_icfgparam and not *phba->config. This is manifesting itself as a panic in pci_release_region(). * Fix for firmware download / board reset problem. * Integrated patch from Christoph Hellwig (hch@infradead.org) to reorganize and cleanup lpfc_fcp.c * Don't abort commands immediately when there is an RSCN event to give driver time to rediscover targets before the midlayer retries the SCSI commands.Changes from 20040604 to 20040614 * Changed version number to 8.0.4 * Removed lpfc_valid_lun function. * Added scsi_buf safety pool to address scsi_buf failures in queuecommand under low memory conditions. Allocations now come from kmalloc initially, but if kmalloc fails, the allocation comes from the safety pool. * Modified lpfc_slave_alloc to only set the scsi_device->hostdata pointer if the driver has discovered the target. This routine always returns success now as well since no error ever occurs in the alloc routine. * Mask only info and warning messages. Print all error messages irrespective of mask. * Removing lpfc_log_chk_msg_disabled() * Changed lpfc_printf_log to take struct lpfc_hba * directly instead of a "board number". * Convert dma_sync_single to pci_dma_sync_single_for_{device/cpu}. * Implemented new style log messages. The message strings are now embedded in the call to lpfc_printf_log. * Decreased FLOGI discovery timeout to 20 seconds. * On error in lpfc_pci_probe_one() return -1 and not 1. * Allow for board numbers that are not sequential, paving the way for hotplug support. * scsi_add_host() can fail, so wrap it around in an if(). Also initiate scsi_scan_host() after attaching the sysfs attributes. * lpfc_release_version is used only in lpfc_ct.c, so move it there and mark it as static. * Removed lpfc_sleep_ms and replaced with mdelay or schedule calls directly * Removed all (struct list_head *) casts from clkData-related list handling in list_add, list_del macros. * Removed EXPORT_SYMBOLs. * Removed LPFC_MIN_QFULL and lpfc_qthrottle_up. * Replace LPFCSCSITARGET_t with struct lpfc_target. * Replace LPFCSCSILUN_t with struct lpfc_lun. * Remove unused struct declarations (fcPathId and fcRouteId) from lpfc_scsi.h. * Rewrite use of FC transport attributes. * Fix crash when link is lost. This was due to lpfc_delay_iodone calling list_del on an object that was never put on a list. * Remove trailing spaces at the end of all lines. * Set MAX_FCP_TARGET to 256 from 0xff. Set MAX_FCP_LUN and MAX_FCP_CMDS to their decimal equivalents and updated documentation.Changes from 20040526 to 20040604 * Changed version number to 8.0.3 * Completed sysfs FC transport support. * Removed unused fields in SCSI LUN and SCSI Target structures: void *pTargetProto; void *pTargetOSEnv; void *pLunOSEnv; * Modified list_for_each to list_for_each_entry. Modified list_for_each_safe to list_for_each_entry_safe. * Remove lpfc_dfc.h file. * Changed pHba->phba, pCommand->pcmd * Changed plogi_ndlp -> plogindlp, pos_tmp->postmp, pRsp->prsp, pCmd->pcmd * Changed pText -> ptext * Changed p_tmp_buff -> ptmpbuff * Changed pBufList -> pbuflist, pRsp -> prsp, pCmd -> pcmd * Changed *pos_tmp -> *postmp, *p_mbuf -> *pmbuf * Following changes are made to the SCSI fast path: Added DMA_BUF_t member to the lpfc_scsi_buf_t. This will reduce a memory allocation in the scsi fast path. Added check for targetp == NULL in the scsi fast path. Increased number of scatter gather entries in lpfc_scsi_dma_ext to 4 from 3 and changed the size of lpfc_scsi_dma_ext to 264 * Fixing some missing static lpfc_nportdisc.c. * Reordered #include lines so that lpfc.h doesn't have to #include other header files. * Remove lpfc_get_hba_sym_node_name() as a global EXPORT and make it static. * Move struct clk_data definition from lpfc_hw.h to lpfc_sli.h. * Changed LPFC_IOCBQ_t to struct lpfc_iocbq. * Changed LPFC_SLI_RING_t to struct lpfc_sli_ring. * Changed LPFC_NODELIST_t to struct lpfc_nodelist. * Rearranged lpfc_nportdisc.c by moving state machine array (lpfc_disc_action) and the one function that uses it, lpfc_disc_state_machine, to the end of the file, removing the need for the raft of prototypes at the top. * Changed LPFC_BINDLIST_t to struct lpfc_bindlist. * Removed lpfc_issue_ct_rsp(), lpfc_sleep(), lpfc_add_bind(), lpfc_del_bind(), lpfc_sli_wake_mbox_wait() and lpfc_sli_issue_mbox_wait(). * Fixed a large number of overly-long lines. * Fixed some discovery problems: Introduced deferred ndlp removal when in DSM to avoid panic when in nested DMSs Fix NportId fffc01 handling to not relogin after LOGO fixed handling of LOGO on PLOGI issue. * Changed SLI_CT_REQUEST to lpfc_sli_ct_request. * Changed NAME_TYPE to struct lpfc_name. * Changed lpfcCfgParam_t to struct lpfc_cfgparam. * Changed LPFC_STAT_t to struct lpfc_stats. * Changed HBAEVT_t to struct lpfc_hba_event. * Changed Studly_Caps lpfcHBA_t to struct lpfc_hba. * Removed no longer used tasklet_running flag. * Removing *PSOME_VAR typedefs and using SOME_VAR* directly. * Changing .use_clustering to ENABLE_CLUSTERING. * Modify lpfc_queuecommand to return SCSI_MLQUEUE_HOST_BUSY when it can't queue a SCSI command. Also, remove cmnds_in_flight member of struct lpfcHBA for 2.6 kernels as it was only needed to determine what to return from queuecommand. * Change return type of lpfc_evt_iocb_free to void as it doesn't return anything. * Remove unused cmnd_retry_list and in_retry members in struct lpfcHBA. * Remove some instances of unneeded casting of kmalloc's return in lpfc_scsiport.c * Remove lpfc_linux_attach() and lpfc_linux_detach(). Integrate them into lpfc_probe_one() and lpfc_release_one() respectively. * Remove lpfc_num_iocbs, lpfc_num_bufs module parameters * Remove #defines for NUM_NODES, NUM_BUFS and NUM_IOCBSChanges from 20040515 to 20040526 * Changing version number to 8.0.2. * Including dma-mapping.h as one of the include headers. Also rearrange the #include order. * Make functions static as appropriate. * queuecommand() will now return SCSI_MLQUEUE_HOST_BUSY instead of 1 to backpressure midlayer. * Removed function prototypes for lpfc_start_timer() and lpfc_stop_timer() * Changed timer support to be inline. Clk_data is now declared right next to the corresponding timer_list entry so we don't have to allocate these clk_data dynamically. * Add readls after writels to PCI space to flush the writes. * Fix misspelled word "safety" in function names. * Fix up comments in lpfc.conf for per HBA parameters to reflect new implementation. * Change lpfc_proc_info handler to get the Nodename from fc_nodename and not fc_portname. * Fix up some comments and whitespace in lpfc_fcp.c. * Formatting changes: get rid of leading spaces in code * Move discovery processing from tasklet to a kernel thread. * Move ndlp node from unmap list to map list if ADISC completed successfully. * Flush all the ELS IOCBs when there is a link event. * LP9802 qdepth is twice the LP9802DC qdepth. Delay elx_sched_init after READ_CONFIG to get max_xri from the firmware. Reset ELX_CFG_DFT_HBA_Q_DEPTH to max_xri after READ_CONFIG * Fix fc_get_cfg_parm() to be more robust and support embedded hex values. The lpfc_param's are now defined as: lpfc_log_verbose="lpfc:0,lpfc0:0x10,lpfc1:4,lpfc100:0xffff" The "," delimter does not matter. It can be anything or not exist at all. ie param = "lpfc:0lpfc0:0x10.lpfc1:4txtlpfc100:0xffff" will also work. Additionally the string is treated as case insensitive. * Changed all usage of lpfc_find_lun_device() to lpfc_find_lun(). * Removed unnecessary wrappers lpfc_find_lun_device() and lpfc_tran_find_lun(). * Switch from using internal bus/id/lun to similar data from scsi_device structure. * Eliminate one-line function lpfc_find_target() * Added slave_alloc, slave_destory * lpfc_scsi_cmd_start can now acquire lun pointer from scsi_device->hostdata, which is setup in slave_alloc. * Eliminate unnecessary checking on every cmd just to see if we are accessing the device the first time. * Remove assumption in lpfc_reset_lun_handler that a valid lpfc_scsi_buf is hung off of linux's scsi_cmnd->host_scribble when our reset is called.Changes from 20040507 to 20040515 * Changed version to 8.0.1 * Fixed crash on driver rmmod after error injection tests and lpfc_tasklet deadlock. * Modified lpfc.conf to remove limit on number of support hosts * Removed HBAAPI * Removed duplication of SCSI opcodes from lpfc_fcp.h that are available in scsi/scsi.h * Rework module_param usage * Added MODULE_PARAM_DESC for various module_params * Removed #define EXPORT_SYMTAB * Removed #includes of if_arp.h and rtnetlink.h * Removed string "Open Source" from MODULE_DESC * Cleanup duplicated string definitions used by MODULE_DESC * Renamed lpfc_pci_[detect|release] to lpfc_pci_[probe|remove]_one * Fix formatting of lpfc_driver * Remove unnecessary memset to 0 of lpfcDRVR * Attach driver attributes always unless pci_module_init failed * Remove all one-line wrappers from lpfc_mem. * Remove lpfc_sysfs_set_[show|store] as it is no longer needed * Redo lpfc_sysfs_params_[show|store] to one value per attribute rule * Breakdown lpfc_sysfs_info_show into smaller one value per attribute * Use device attributes instead of driver attributes where appropriate * Remove no longer needed EXPORT_SYMBOLs * Remove some unused code (1600 msg's related)Changes from 20040429 to 20040507 * Change version to 8.0.0 * Fix the number of cmd / rsp ring entries in lpfc_fcp.c to match the divisions setup in lpfc_hw.h. * Remove phba->iflag reference. * Several locking improvements. * Remove functions lpfc_drvr_init_lock, lpfc_drvr_lock, lpfc_drvr_unlock and lpfc_hipri_*. * Remove LPFC_DRVR_LOCK and LPFC_DRVR_UNLOCK macros. * Make lpfc_info() use lpfc_get_hba_model_desc() instead of rewriting almost identical code. * Fix 1 overly long line in each of lpfc_cfgparm.h, lpfc_ftp.c and lpfc_sli.c. * Fix build for Red Hat 2.6.3 kernel by #defining MODULE_VERSION only if it isn't already defined. * Change elx_sli_issue_mbox_wait to return correct error code to the caller. * In some of the els completion routines, after calling lpfc_elx_chk_latt, driver ignores the return code of the lpfc_elx_chk_latt. This will prevent the discovery state machine restarting correctly when there are link events in the middle of discovery state machine running. Fix this by exiting discovery state machine if lpfc_els_chk_latt returns a non zero value. * Removed MAX_LPFC_BRDS from lpfc_diag.h * Removed unused first_check. * Remove some unused fields and defines. * Change lpfc-param names to lpfc_param. * Add use of MODULE_VERSION macro for 2.6 kernels. * Shorten length of some of the comment lines to make them more readable. * Move FCP_* definitions to their own header file, lpfc_fcp.h. * Remove unused prototypes from lpfc_crtn.h: fcptst, iptst, lpfc_DELAYMS. * Remove duplicated prototypes from lpfc_crtn.h: lpfc_config_port_prep, lpfc_config_port_post, lpfc_hba_down_prep. * Removed some unused export_symbols. * Install driver files into */drivers/scsi/lpfc instead of */drivers/scsi.Changes from 20040426 to 20040429 * Declared export symbol lpfc_page_alloc and lpfc_page_free * Changed lpfc version number to 6.98.3 * Move the definition of MAX_LPFC_BRDS to the only header file that uses it (lpfc_diag.h). * Change lpfc_sli_wake_iocb_wait to do a regular wake_up since lpfc_sli_issue_iocb_wait now sleeps uninterruptible. * Replace list_for_each() with list_for_each_safe() when a list element could be deleted. * Fix IOCB memory leakChanges from 20040416 to 20040426 * Change lpfc_config_
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -