diff options
Diffstat (limited to 'sys/dev/vmware')
-rw-r--r-- | sys/dev/vmware/pvscsi/pvscsi.c | 4 | ||||
-rw-r--r-- | sys/dev/vmware/vmci/vmci_kernel_if.c | 4 | ||||
-rw-r--r-- | sys/dev/vmware/vmxnet3/if_vmx.c | 3 |
3 files changed, 8 insertions, 3 deletions
diff --git a/sys/dev/vmware/pvscsi/pvscsi.c b/sys/dev/vmware/pvscsi/pvscsi.c index 111330e4f17f..08bdb8c3f108 100644 --- a/sys/dev/vmware/pvscsi/pvscsi.c +++ b/sys/dev/vmware/pvscsi/pvscsi.c @@ -1444,6 +1444,10 @@ finish_ccb: cts->proto_specific.scsi.flags = CTS_SCSI_FLAGS_TAG_ENB; cts->proto_specific.scsi.valid = CTS_SCSI_VALID_TQ; + /* Prefer connection speed over sas port speed */ + cts->xport_specific.sas.valid &= ~CTS_SAS_VALID_SPEED; + cts->xport_specific.sas.bitrate = 0; + ccb_h->status = CAM_REQ_CMP; xpt_done(ccb); } break; diff --git a/sys/dev/vmware/vmci/vmci_kernel_if.c b/sys/dev/vmware/vmci/vmci_kernel_if.c index c7cdf5e3e3d8..e5d5c5160803 100644 --- a/sys/dev/vmware/vmci/vmci_kernel_if.c +++ b/sys/dev/vmware/vmci/vmci_kernel_if.c @@ -236,10 +236,10 @@ vmci_alloc_kernel_mem(size_t size, int flags) */ void -vmci_free_kernel_mem(void *ptr, size_t size) +vmci_free_kernel_mem(void *ptr, size_t size __unused) { - contigfree(ptr, size, M_DEVBUF); + free(ptr, M_DEVBUF); } /* diff --git a/sys/dev/vmware/vmxnet3/if_vmx.c b/sys/dev/vmware/vmxnet3/if_vmx.c index fdcad0dd4bba..62b5f313a137 100644 --- a/sys/dev/vmware/vmxnet3/if_vmx.c +++ b/sys/dev/vmware/vmxnet3/if_vmx.c @@ -1429,7 +1429,8 @@ vmxnet3_isc_txd_credits_update(void *vsc, uint16_t txqid, bool clear) return (1); vmxnet3_barrier(sc, VMXNET3_BARRIER_RD); - if (++txc->vxcr_next == txc->vxcr_ndesc) { + MPASS(txc->vxcr_next < txc->vxcr_ndesc); + if (++txc->vxcr_next >= txc->vxcr_ndesc) { txc->vxcr_next = 0; txc->vxcr_gen ^= 1; } |