ESXi-5.5-U2
This commit is contained in:
parent
89a4bb14d0
commit
d6b9b2ac58
17 changed files with 661 additions and 683 deletions
|
@ -1,6 +1,6 @@
|
|||
#define BUILD_NUMBER "build-1623387"
|
||||
#define BUILD_NUMBER_NUMERIC 1623387
|
||||
#define BUILD_NUMBER_NUMERIC_STRING "1623387"
|
||||
#define PRODUCT_BUILD_NUMBER "product-build-4950"
|
||||
#define PRODUCT_BUILD_NUMBER_NUMERIC 4950
|
||||
#define PRODUCT_BUILD_NUMBER_NUMERIC_STRING "4950"
|
||||
#define BUILD_NUMBER "build-00000"
|
||||
#define BUILD_NUMBER_NUMERIC 00000
|
||||
#define BUILD_NUMBER_NUMERIC_STRING "00000"
|
||||
#define PRODUCT_BUILD_NUMBER "product-build-00000"
|
||||
#define PRODUCT_BUILD_NUMBER_NUMERIC 00000
|
||||
#define PRODUCT_BUILD_NUMBER_NUMERIC_STRING "00000"
|
||||
|
|
1176
build-vmkdrivers.sh
1176
build-vmkdrivers.sh
File diff suppressed because one or more lines are too long
|
@ -1,26 +0,0 @@
|
|||
<verify>
|
||||
<virtual-infrastructure>
|
||||
<address>10.111.110.45</address>
|
||||
<username>root</username>
|
||||
<password>password</password>
|
||||
<vm type="build">
|
||||
<id>centos-5.3-x64</id>
|
||||
<realname>Rush-CentOS-5.3-x64</realname>
|
||||
<os>linux</os>
|
||||
<username>root</username>
|
||||
<password>welcome</password>
|
||||
</vm>
|
||||
</virtual-infrastructure>
|
||||
<virtual-infrastructure>
|
||||
<address>10.111.110.98</address>
|
||||
<username>root</username>
|
||||
<password>welcome</password>
|
||||
<vm type="install">
|
||||
<id>BDE-Management-Server</id>
|
||||
<realname>management-server</realname>
|
||||
<os>linux</os>
|
||||
<username>root</username>
|
||||
<password>vmware</password>
|
||||
</vm>
|
||||
</virtual-infrastructure>
|
||||
</verify>
|
|
@ -1,26 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<disclosure>
|
||||
<name>vmkdrivers</name>
|
||||
<version>gpl</version>
|
||||
<category>VMWsource</category>
|
||||
<build>
|
||||
<target>centos-5.3-x64</target>
|
||||
<files>
|
||||
<file>vmkdrivers-gpl.tgz</file>
|
||||
<file>collect-drivers.sh</file>
|
||||
<file>update-drivers.sh</file>
|
||||
</files>
|
||||
<process>
|
||||
<execute>tar xzf vmkdrivers-gpl.tgz</execute>
|
||||
<execute>sh ./build-vmkdrivers.sh</execute>
|
||||
<execute>mv collect-drivers.sh BLD/build/collect-drivers.sh</execute>
|
||||
<execute>cd BLD/build</execute>
|
||||
<execute>./collect-drivers.sh</execute>
|
||||
</process>
|
||||
<deliveries>
|
||||
<delivery dir="BLD/build">drivers</delivery>
|
||||
<delivery>update-drivers.sh</delivery>
|
||||
</deliveries>
|
||||
<output>centos-5.3-x64</output>
|
||||
</build>
|
||||
</disclosure>
|
|
@ -54,7 +54,7 @@
|
|||
#endif
|
||||
|
||||
#define DRV_NAME "ahci"
|
||||
#define DRV_VERSION "3.0-18vmw"
|
||||
#define DRV_VERSION "3.0-20vmw"
|
||||
|
||||
#if defined(__VMKLNX__)
|
||||
static int ahci_skip_host_reset = 0;
|
||||
|
@ -618,6 +618,12 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
|||
{ PCI_VDEVICE(INTEL, 0x2326), board_ahci }, /* Cave Creek AHCI */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c02), board_ahci }, /* Lynx Point AHCI */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c03), board_ahci }, /* Lynx Point AHCI */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c04), board_ahci }, /* Lynx Point RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c05), board_ahci }, /* Lynx Point RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c06), board_ahci }, /* Lynx Point RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c07), board_ahci }, /* Lynx Point RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c0e), board_ahci }, /* Lynx Point RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8c0f), board_ahci }, /* Lynx Point RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x1f22), board_ahci }, /* Avoton AHCI */
|
||||
{ PCI_VDEVICE(INTEL, 0x1f23), board_ahci }, /* Avoton AHCI */
|
||||
{ PCI_VDEVICE(INTEL, 0x1f24), board_ahci }, /* Avoton RAID */
|
||||
|
@ -645,6 +651,7 @@ static const struct pci_device_id ahci_pci_tbl[] = {
|
|||
{ PCI_VDEVICE(INTEL, 0x8d64), board_ahci }, /* Wellsburg RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8d66), board_ahci }, /* Wellsburg RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x8d6e), board_ahci }, /* Wellsburg RAID */
|
||||
{ PCI_VDEVICE(INTEL, 0x23a3), board_ahci }, /* Coleto Creek AHCI */
|
||||
#endif /* defined(__VMKLNX__) */
|
||||
|
||||
/* JMicron 360/1/3/5/6, match class to avoid IDE function */
|
||||
|
|
|
@ -102,7 +102,7 @@
|
|||
#endif /* defined(__VMKLNX__) */
|
||||
|
||||
#define DRV_NAME "ata_piix"
|
||||
#define DRV_VERSION "2.12-8vmw"
|
||||
#define DRV_VERSION "2.12-10vmw"
|
||||
|
||||
enum {
|
||||
PIIX_IOCFG = 0x54, /* IDE I/O configuration register */
|
||||
|
@ -344,6 +344,10 @@ static const struct pci_device_id piix_pci_tbl[] = {
|
|||
{ 0x8086, 0x8d60, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_sata_snb },
|
||||
/* SATA Controller IDE (Wellsburg) */
|
||||
{ 0x8086, 0x8d68, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
|
||||
/* SATA Controller IDE (Coleto Creek) */
|
||||
{ 0x8086, 0x23a1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
|
||||
/* SATA Controller IDE (Coleto Creek) */
|
||||
{ 0x8086, 0x23a6, PCI_ANY_ID, PCI_ANY_ID, 0, 0, ich8_2port_sata },
|
||||
#endif /* defined(__VMKLNX__) */
|
||||
|
||||
{ } /* terminate list */
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
/*
|
||||
* Source file for NIC routines to access the Phantom hardware
|
||||
*
|
||||
* $Id: //depot/vmkdrivers/vsphere55u1/src_9/drivers/net/nx_nic/unm_nic_hw.c#1 $
|
||||
* $Id: //depot/vmkdrivers/vsphere55u2/src_9/drivers/net/nx_nic/unm_nic_hw.c#1 $
|
||||
*
|
||||
*/
|
||||
#include <linux/delay.h>
|
||||
|
|
|
@ -461,6 +461,7 @@ static const struct {
|
|||
{ "nic_tx_threshold_hit" },
|
||||
|
||||
{ "mbuf_lwm_thresh_hit" },
|
||||
{ "dma_4g_cross" },
|
||||
};
|
||||
|
||||
#define TG3_NUM_STATS ARRAY_SIZE(ethtool_stats_keys)
|
||||
|
@ -7347,7 +7348,7 @@ static inline int tg3_4g_overflow_test(dma_addr_t mapping, int len)
|
|||
{
|
||||
u32 base = (u32) mapping & 0xffffffff;
|
||||
|
||||
return (base > 0xffffdcc0) && (base + len + 8 < base);
|
||||
return (base + len + 8 < base);
|
||||
}
|
||||
|
||||
/* Test for DMA addresses > 40-bit */
|
||||
|
@ -7384,8 +7385,10 @@ static bool tg3_tx_frag_set(struct tg3_napi *tnapi, u32 *entry, u32 *budget,
|
|||
if (tg3_flag(tp, SHORT_DMA_BUG) && len <= 8)
|
||||
hwbug = true;
|
||||
|
||||
if (tg3_4g_overflow_test(map, len))
|
||||
if (tg3_4g_overflow_test(map, len)) {
|
||||
tp->dma_4g_cross++;
|
||||
hwbug = true;
|
||||
}
|
||||
|
||||
if (tg3_40bit_overflow_test(tp, map, len))
|
||||
hwbug = true;
|
||||
|
@ -11500,6 +11503,7 @@ static void tg3_get_estats(struct tg3 *tp, struct tg3_ethtool_stats *estats)
|
|||
ESTAT_ADD(nic_tx_threshold_hit);
|
||||
|
||||
ESTAT_ADD(mbuf_lwm_thresh_hit);
|
||||
estats->dma_4g_cross = tp->dma_4g_cross;
|
||||
}
|
||||
|
||||
static void tg3_get_nstats(struct tg3 *tp, struct rtnl_link_stats64 *stats)
|
||||
|
@ -17703,17 +17707,13 @@ static int __devinit tg3_init_one(struct pci_dev *pdev,
|
|||
features |= NETIF_F_TSO_ECN;
|
||||
}
|
||||
|
||||
#if defined(__VMKLNX__) && defined(TG3_INBOX)
|
||||
/*
|
||||
* Disable TSO to avoid the data corruption issue happened when
|
||||
* a 9KB+ buffer straddling a 4GB boundary. Please refer to
|
||||
* PR 1148150.
|
||||
*/
|
||||
features &= ~(NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN);
|
||||
tg3_flag_clear(tp, TSO_CAPABLE);
|
||||
tg3_flag_clear(tp, TSO_BUG);
|
||||
#endif
|
||||
#if defined(__VMKLNX__)
|
||||
if (disable_tso) {
|
||||
features &= ~(NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN);
|
||||
tg3_flag_clear(tp, TSO_CAPABLE);
|
||||
tg3_flag_clear(tp, TSO_BUG);
|
||||
}
|
||||
|
||||
/* VMWare does not have skb_gso_segment() to workaround TSO_BUG */
|
||||
if (tg3_flag(tp, TSO_BUG))
|
||||
features &= ~(NETIF_F_TSO | NETIF_F_TSO6 | NETIF_F_TSO_ECN);
|
||||
|
|
|
@ -2917,6 +2917,7 @@ struct tg3_ethtool_stats {
|
|||
u64 nic_tx_threshold_hit;
|
||||
|
||||
u64 mbuf_lwm_thresh_hit;
|
||||
u64 dma_4g_cross;
|
||||
};
|
||||
|
||||
#if defined(__VMKLNX__)
|
||||
|
@ -3404,6 +3405,7 @@ struct tg3 {
|
|||
#if (defined(__VMKLNX__) && VMWARE_ESX_DDK_VERSION >= 55000)
|
||||
int nic_idx;
|
||||
#endif
|
||||
unsigned long dma_4g_cross;
|
||||
bool link_up;
|
||||
};
|
||||
|
||||
|
|
|
@ -13,6 +13,12 @@ struct tg3;
|
|||
#define wmb() asm volatile("sfence" ::: "memory")
|
||||
#endif
|
||||
|
||||
static int disable_tso = 0;
|
||||
module_param(disable_tso, int, 0);
|
||||
MODULE_PARM_DESC(disable_tso, "Setting the variable to 1 to disable HW TSO "
|
||||
"functionality on the driver level. Value of "
|
||||
"0 will enable HW TSO which is the default.");
|
||||
|
||||
static int psod_on_tx_timeout = 0;
|
||||
|
||||
module_param(psod_on_tx_timeout, int, 0);
|
||||
|
|
|
@ -3083,12 +3083,6 @@ megasas_complete_cmd(struct megasas_instance *instance, struct megasas_cmd *cmd,
|
|||
spin_unlock_irqrestore(instance->host->host_lock, flags);
|
||||
break;
|
||||
}
|
||||
if (cmd->frame->dcmd.opcode == MR_DCMD_CTRL_EVENT_GET_INFO ||
|
||||
cmd->frame->dcmd.opcode == MR_DCMD_CTRL_EVENT_GET) {
|
||||
spin_lock_irqsave(&poll_aen_lock, flags);
|
||||
megasas_poll_wait_aen = 0;
|
||||
spin_unlock_irqrestore(&poll_aen_lock, flags);
|
||||
}
|
||||
/*
|
||||
* See if got an event notification
|
||||
*/
|
||||
|
@ -5757,10 +5751,13 @@ static unsigned int megasas_mgmt_poll(struct file *file, poll_table *wait)
|
|||
|
||||
poll_wait(file, &megasas_poll_wait, wait);
|
||||
spin_lock_irqsave(&poll_aen_lock, flags);
|
||||
if (megasas_poll_wait_aen)
|
||||
mask = (POLLIN | POLLRDNORM);
|
||||
else
|
||||
if (megasas_poll_wait_aen) {
|
||||
mask = (POLLIN | POLLRDNORM);
|
||||
}
|
||||
else {
|
||||
mask = 0;
|
||||
}
|
||||
megasas_poll_wait_aen = 0;
|
||||
spin_unlock_irqrestore(&poll_aen_lock, flags);
|
||||
|
||||
return mask;
|
||||
|
|
|
@ -2216,9 +2216,18 @@ out:
|
|||
}
|
||||
|
||||
/* Fusion OCR work queue */
|
||||
#if defined(__VMKLNX__)
|
||||
void megasas_fusion_ocr_wq(struct work_struct *work)
|
||||
#else
|
||||
void megasas_fusion_ocr_wq(void *arg)
|
||||
#endif
|
||||
{
|
||||
struct megasas_instance *instance = arg;
|
||||
#if defined(__VMKLNX__)
|
||||
struct megasas_instance *instance =
|
||||
container_of(work, struct megasas_instance, work_init);
|
||||
#else
|
||||
struct megasas_instance *instance = arg;
|
||||
#endif
|
||||
|
||||
megasas_reset_fusion(instance->host);
|
||||
}
|
||||
|
|
|
@ -6103,15 +6103,6 @@ void ata_qc_complete(struct ata_queued_cmd *qc)
|
|||
ata_verify_xfer(qc);
|
||||
|
||||
__ata_qc_complete(qc);
|
||||
#if defined(__VMKLNX__)
|
||||
/* Fixing PR 1173296 */
|
||||
if (unlikely((ehi->dev_action[dev->devno] & ATA_EH_REVALIDATE) &&
|
||||
(ap->pflags & ATA_PFLAG_EH_PENDING))) {
|
||||
ata_port_printk(ap, KERN_INFO,
|
||||
"ata_qc_complete, dev needs revalidation, calling EH\n");
|
||||
wake_up_process(ap->scsi_host->ehandler);
|
||||
}
|
||||
#endif /* defined(__VMKLNX__) */
|
||||
} else {
|
||||
if (qc->flags & ATA_QCFLAG_EH_SCHEDULED)
|
||||
return;
|
||||
|
|
|
@ -2310,6 +2310,11 @@ unsigned int ata_scsiop_inq_00(struct ata_scsi_args *args, u8 *rbuf,
|
|||
};
|
||||
rbuf[3] = sizeof(pages); /* number of supported VPD pages */
|
||||
|
||||
if (buflen < 4 + sizeof(pages)) {
|
||||
args->cmd->resid = buflen; /* no data transferred */
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (buflen > 6)
|
||||
memcpy(rbuf + 4, pages, sizeof(pages));
|
||||
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
#endif
|
||||
#include "pci-quirks.h"
|
||||
#if defined(__VMKLNX__)
|
||||
//#include "../host/xhci/xhci-ext-caps.h"
|
||||
//#else
|
||||
#include "../host/xhci/xhci-ext-caps.h"
|
||||
#else
|
||||
#include "xhci-ext-caps.h"
|
||||
#endif
|
||||
|
||||
|
|
|
@ -8563,15 +8563,12 @@ GetNICPanicInfo(vmk_AddrCookie cookie, vmk_UplinkPanicInfo *intInfo)
|
|||
* Pseudo NIC does not support remote
|
||||
* debugging.
|
||||
*/
|
||||
intInfo->intrCookie = VMK_INVALID_INTRCOOKIE;
|
||||
intInfo->clientData.ptr = NULL;
|
||||
if (dev->pdev_pseudo) {
|
||||
pci_dev = (struct pci_dev *)dev->pdev_pseudo;
|
||||
intInfo->intrCookie = pci_dev->irq;
|
||||
intInfo->clientData.ptr = dev;
|
||||
}
|
||||
} else {
|
||||
intInfo->intrCookie = LinuxIRQ_VectorToCookie(dev->pdev->irq);
|
||||
intInfo->clientData.ptr = dev;
|
||||
}
|
||||
|
||||
|
|
|
@ -830,6 +830,12 @@ SCSILinuxProcessCompletions(scsiLinuxTLS_t *tls, // IN
|
|||
--scmd->device->device_busy;
|
||||
spin_unlock_irqrestore(scmd->device->host->host_lock, flags);
|
||||
|
||||
/* wake up host error handler if necessary */
|
||||
if (unlikely(scmd->device->host->host_eh_scheduled
|
||||
&& !scmd->device->host->host_busy)) {
|
||||
wake_up_process(scmd->device->host->ehandler);
|
||||
}
|
||||
|
||||
/*
|
||||
* Put back the scsi command before calling scsi upper layer
|
||||
* Otherwise, if a destroy path is issued by upper layer and
|
||||
|
|
Loading…
Reference in a new issue