diff --git a/BLD/build/HEADERS/92-vmkdrivers-namespace/vmkernel64/release/libfc_9_2_1_0/__namespace.h b/BLD/build/HEADERS/92-vmkdrivers-namespace/vmkernel64/release/libfc_9_2_1_0/__namespace.h new file mode 100644 index 0000000000000000000000000000000000000000..a2155a4304db6cef850171f3f8027505b30193db --- /dev/null +++ b/BLD/build/HEADERS/92-vmkdrivers-namespace/vmkernel64/release/libfc_9_2_1_0/__namespace.h @@ -0,0 +1,11 @@ + +/* + * DO NOT EDIT THIS FILE - IT IS GENERATED BY THE DRIVER BUILD. + * + * If you need to change the driver's name spaces, look in the scons + * files for the driver's defineVmkDriver() rule. + */ + +VMK_NAMESPACE_PROVIDES("com.vmware.libfc", "9.2.1.0"); +#define VMKLNX_MY_NAMESPACE_VERSION "9.2.1.0" +VMK_NAMESPACE_REQUIRED("com.vmware.libfc", "9.2.3.0"); diff --git a/BLD/build/HEADERS/92-vmkdrivers-namespace/vmkernel64/release/libfcoe_9_2_1_0/__namespace.h b/BLD/build/HEADERS/92-vmkdrivers-namespace/vmkernel64/release/libfcoe_9_2_1_0/__namespace.h new file mode 100644 index 0000000000000000000000000000000000000000..1b2da4c1175da383fea675956908698df15f9153 --- /dev/null +++ b/BLD/build/HEADERS/92-vmkdrivers-namespace/vmkernel64/release/libfcoe_9_2_1_0/__namespace.h @@ -0,0 +1,11 @@ + +/* + * DO NOT EDIT THIS FILE - IT IS GENERATED BY THE DRIVER BUILD. + * + * If you need to change the driver's name spaces, look in the scons + * files for the driver's defineVmkDriver() rule. + */ + +VMK_NAMESPACE_PROVIDES("com.vmware.libfcoe", "9.2.1.0"); +#define VMKLNX_MY_NAMESPACE_VERSION "9.2.1.0" +VMK_NAMESPACE_REQUIRED("com.vmware.libfcoe", "9.2.3.0"); diff --git a/BLD/build/version/buildNumber.h b/BLD/build/version/buildNumber.h index ea5d5ab92a3e4142df1eeba9dc09769dfb9f7ddd..dcb5e697481a1fc510554791ef1c6b34301e2f41 100644 --- a/BLD/build/version/buildNumber.h +++ b/BLD/build/version/buildNumber.h @@ -1,6 +1,6 @@ -#define BUILD_NUMBER "build-2507296" -#define BUILD_NUMBER_NUMERIC 2507296 -#define BUILD_NUMBER_NUMERIC_STRING "2507296" -#define PRODUCT_BUILD_NUMBER "product-build-21922" -#define PRODUCT_BUILD_NUMBER_NUMERIC 21922 -#define PRODUCT_BUILD_NUMBER_NUMERIC_STRING "21922" +#define BUILD_NUMBER "build-2809209" +#define BUILD_NUMBER_NUMERIC 2809209 +#define BUILD_NUMBER_NUMERIC_STRING "2809209" +#define PRODUCT_BUILD_NUMBER "product-build-28864" +#define PRODUCT_BUILD_NUMBER_NUMERIC 28864 +#define PRODUCT_BUILD_NUMBER_NUMERIC_STRING "28864" diff --git a/vmkdrivers/src_9/drivers/net/nx_nic/unm_nic_hw.c b/vmkdrivers/src_9/drivers/net/nx_nic/unm_nic_hw.c index 8b8cd4b260e124f43a118fe4b5b826d635deaddb..07c746dd64a5af1abd759bb7101628b61575fc0f 100644 --- a/vmkdrivers/src_9/drivers/net/nx_nic/unm_nic_hw.c +++ b/vmkdrivers/src_9/drivers/net/nx_nic/unm_nic_hw.c @@ -25,7 +25,7 @@ /* * Source file for NIC routines to access the Phantom hardware * - * $Id: //depot/vmkdrivers/vsphere-2015/src_9/drivers/net/nx_nic/unm_nic_hw.c#1 $ + * $Id: //depot/vmkdrivers/vsphere60p01/src_9/drivers/net/nx_nic/unm_nic_hw.c#1 $ * */ #include diff --git a/vmkdrivers/src_9/drivers/scsi/bnx2i/bnx2i.h b/vmkdrivers/src_9/drivers/scsi/bnx2i/bnx2i.h index 4a1a5393c05a93efbefbc44e18af18d40ab90c63..860334a1bf6b790489de8b503e15ab514905dbaf 100644 --- a/vmkdrivers/src_9/drivers/scsi/bnx2i/bnx2i.h +++ b/vmkdrivers/src_9/drivers/scsi/bnx2i/bnx2i.h @@ -1469,7 +1469,6 @@ static inline void bnx2i_int_to_scsilun_with_sec_lun_id(uint16_t lun, uint64_t sllid) { if (sllid != VMKLNX_SCSI_INVALID_SECONDLEVEL_ID) { - VMK_ASSERT(lun <= 255); /* Max LUN supported is 255. */ memset(scsi_lun, 0, 8); scsi_lun->scsi_lun[0] = (lun >> 8) & 0xFF; scsi_lun->scsi_lun[1] = lun & 0xFF; diff --git a/vmkdrivers/src_92/drivers/scsi/fcoe/libfcoe_9_2_1_0.c b/vmkdrivers/src_92/drivers/scsi/fcoe/libfcoe_9_2_1_0.c new file mode 100644 index 0000000000000000000000000000000000000000..1dad81ff26a24d2fc54f40bc7b83c5d770a71e8e --- /dev/null +++ b/vmkdrivers/src_92/drivers/scsi/fcoe/libfcoe_9_2_1_0.c @@ -0,0 +1,69 @@ +/* **************************************************************** + * Copyright 2015 VMware, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * ****************************************************************/ + +#include "vmkapi.h" +#include "vmklinux_version.h" +#include +/* NOTE: __namespace.h is generated by the build from the driver's .sc file. */ +#include "__namespace.h" + +#ifndef MODULE +#error "You can only compile and link vmklinux_module with modules, which" \ + "means that MODULE has to be defined when compiling it..." +#endif + +VMK_LICENSE_INFO(VMK_MODULE_LICENSE_GPLV2); +MODULE_VERSION2(VMKLNX_STRINGIFY(PRODUCT_VERSION), VMKLNX_MY_NAMESPACE_VERSION); + +/* + * All vmkdriver modules are built using the latest vmakpi interface. + */ +VMK_NAMESPACE_REQUIRED(VMK_NAMESPACE_VMKAPI, VMK_NAMESPACE_CURRENT_VERSION); +#if VMKAPI_REVISION >= VMK_REVISION_FROM_NUMBERS(2, 2, 0, 0) && \ + defined(VMK_DEVKIT_USES_BINARY_INCOMPATIBLE_APIS) +VMK_NAMESPACE_REQUIRED(VMK_NAMESPACE_VMKAPI_INCOMPAT, + VMK_NAMESPACE_INCOMPAT_CURRENT_VERSION); +#endif + +vmk_ModuleID vmkshim_module_id; + +int +vmk_early_init_module(void) +{ + VMK_ReturnStatus vmk_status; + + vmk_status = vmk_ModuleRegister(&vmkshim_module_id, VMKAPI_REVISION); + if (vmk_status != VMK_OK) { + vmk_WarningMessage("Registration failed (%#x): %s", + vmk_status, vmk_StatusToString(vmk_status)); + return vmk_status; + } + + return 0; +} + +int +vmk_late_cleanup_module(void) +{ + return 0; +} + +/* + * Symbols passed in directly from libfcoe without the need for a shim function. + */ +VMK_MODULE_EXPORT_ALIAS(fcoe_ctlr_destroy); +VMK_MODULE_EXPORT_ALIAS(fcoe_ctlr_els_send); +VMK_MODULE_EXPORT_ALIAS(fcoe_ctlr_init); +VMK_MODULE_EXPORT_ALIAS(fcoe_ctlr_link_down); +VMK_MODULE_EXPORT_ALIAS(fcoe_ctlr_link_up); +VMK_MODULE_EXPORT_ALIAS(fcoe_ctlr_recv); +VMK_MODULE_EXPORT_ALIAS(fcoe_ctlr_recv_flogi); +VMK_MODULE_EXPORT_ALIAS(fcoe_libfc_config); +VMK_MODULE_EXPORT_ALIAS(fcoe_wwn_from_mac); + diff --git a/vmkdrivers/src_92/drivers/scsi/libfc/libfc_9_2_1_0.c b/vmkdrivers/src_92/drivers/scsi/libfc/libfc_9_2_1_0.c new file mode 100644 index 0000000000000000000000000000000000000000..8bbc06b73bf8df4ed7ff4ec38ae80e32e639d224 --- /dev/null +++ b/vmkdrivers/src_92/drivers/scsi/libfc/libfc_9_2_1_0.c @@ -0,0 +1,105 @@ +/* **************************************************************** + * Copyright 2015 VMware, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * ****************************************************************/ + +#include "vmkapi.h" +#include "vmklinux_version.h" +#include +/* NOTE: __namespace.h is generated by the build from the driver's .sc file. */ +#include "__namespace.h" + +#ifndef MODULE +#error "You can only compile and link vmklinux_module with modules, which" \ + "means that MODULE has to be defined when compiling it..." +#endif + +VMK_LICENSE_INFO(VMK_MODULE_LICENSE_GPLV2); +MODULE_VERSION2(VMKLNX_STRINGIFY(PRODUCT_VERSION), VMKLNX_MY_NAMESPACE_VERSION); + +/* + * All vmkdriver modules are built using the latest vmakpi interface. + */ +VMK_NAMESPACE_REQUIRED(VMK_NAMESPACE_VMKAPI, VMK_NAMESPACE_CURRENT_VERSION); +#if VMKAPI_REVISION >= VMK_REVISION_FROM_NUMBERS(2, 2, 0, 0) && \ + defined(VMK_DEVKIT_USES_BINARY_INCOMPATIBLE_APIS) +VMK_NAMESPACE_REQUIRED(VMK_NAMESPACE_VMKAPI_INCOMPAT, + VMK_NAMESPACE_INCOMPAT_CURRENT_VERSION); +#endif + +vmk_ModuleID vmkshim_module_id; + +int +vmk_early_init_module(void) +{ + VMK_ReturnStatus vmk_status; + + vmk_status = vmk_ModuleRegister(&vmkshim_module_id, VMKAPI_REVISION); + if (vmk_status != VMK_OK) { + vmk_WarningMessage("Registration failed (%#x): %s", + vmk_status, vmk_StatusToString(vmk_status)); + return vmk_status; + } + + return 0; +} + +int +vmk_late_cleanup_module(void) +{ + return 0; +} + +/* + * Symbols passed in directly from libfc without the need for a shim function. + */ +VMK_MODULE_EXPORT_ALIAS(fc_change_queue_depth); +VMK_MODULE_EXPORT_ALIAS(fc_change_queue_type); +VMK_MODULE_EXPORT_ALIAS(fc_cpu_mask); +VMK_MODULE_EXPORT_ALIAS(fc_disc_init); +VMK_MODULE_EXPORT_ALIAS(fc_eh_abort); +VMK_MODULE_EXPORT_ALIAS(fc_eh_device_reset); +VMK_MODULE_EXPORT_ALIAS(fc_eh_host_reset); +VMK_MODULE_EXPORT_ALIAS(fc_elsct_init); +VMK_MODULE_EXPORT_ALIAS(fc_elsct_send); +VMK_MODULE_EXPORT_ALIAS(fc_exch_init); +VMK_MODULE_EXPORT_ALIAS(fc_exch_mgr_add); +VMK_MODULE_EXPORT_ALIAS(fc_exch_mgr_alloc); +VMK_MODULE_EXPORT_ALIAS(fc_exch_mgr_del); +VMK_MODULE_EXPORT_ALIAS(fc_exch_mgr_free); +VMK_MODULE_EXPORT_ALIAS(fc_exch_mgr_reset); +VMK_MODULE_EXPORT_ALIAS(fc_exch_recv); +VMK_MODULE_EXPORT_ALIAS(fc_fabric_login); +VMK_MODULE_EXPORT_ALIAS(fc_fabric_logoff); +VMK_MODULE_EXPORT_ALIAS(fc_fcp_destroy); +VMK_MODULE_EXPORT_ALIAS(fc_fcp_init); +VMK_MODULE_EXPORT_ALIAS(_fc_frame_alloc); +VMK_MODULE_EXPORT_ALIAS(fc_frame_alloc_fill); +VMK_MODULE_EXPORT_ALIAS(fc_frame_crc_check); +VMK_MODULE_EXPORT_ALIAS(fc_get_host_port_state); +VMK_MODULE_EXPORT_ALIAS(fc_get_host_port_type); +VMK_MODULE_EXPORT_ALIAS(fc_get_host_speed); +VMK_MODULE_EXPORT_ALIAS(fc_get_host_stats); +VMK_MODULE_EXPORT_ALIAS(fc_linkdown); +VMK_MODULE_EXPORT_ALIAS(fc_linkup); +VMK_MODULE_EXPORT_ALIAS(fc_lport_config); +VMK_MODULE_EXPORT_ALIAS(fc_lport_destroy); +VMK_MODULE_EXPORT_ALIAS(fc_lport_flogi_resp); +VMK_MODULE_EXPORT_ALIAS(fc_lport_init); +VMK_MODULE_EXPORT_ALIAS(fc_lport_logo_resp); +VMK_MODULE_EXPORT_ALIAS(fc_lport_reset); +VMK_MODULE_EXPORT_ALIAS(fc_queuecommand); +VMK_MODULE_EXPORT_ALIAS(fc_rport_init); +VMK_MODULE_EXPORT_ALIAS(fc_rport_terminate_io); +VMK_MODULE_EXPORT_ALIAS(fc_set_mfs); +VMK_MODULE_EXPORT_ALIAS(fc_set_rport_loss_tmo); +VMK_MODULE_EXPORT_ALIAS(fc_slave_alloc); +VMK_MODULE_EXPORT_ALIAS(fc_slave_configure); +VMK_MODULE_EXPORT_ALIAS(fc_vport_setlink); +VMK_MODULE_EXPORT_ALIAS(libfc_lun_qdepth); +VMK_MODULE_EXPORT_ALIAS(libfc_vport_create); +VMK_MODULE_EXPORT_ALIAS(vmklnx_fc_eh_bus_reset); diff --git a/vmkdrivers/src_92/drivers/usb/net/usbnet.c b/vmkdrivers/src_92/drivers/usb/net/usbnet.c index 61c651d909a98d640697b5b92ed4647b196d7f18..1cc0ff206cabcaa896a730285923b2bbf8f19643 100644 --- a/vmkdrivers/src_92/drivers/usb/net/usbnet.c +++ b/vmkdrivers/src_92/drivers/usb/net/usbnet.c @@ -278,8 +278,11 @@ static void defer_bh(struct usbnet *dev, struct sk_buff *skb, struct sk_buff_hea spin_unlock(&list->lock); spin_lock(&dev->done.lock); __skb_queue_tail(&dev->done, skb); - if (dev->done.qlen == 1) + if (dev->done.qlen == 1) { + spin_unlock_irqrestore(&dev->done.lock, flags); tasklet_schedule(&dev->bh); + return; + } spin_unlock_irqrestore(&dev->done.lock, flags); }