Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/hyperv/netvsc/hn_nvs.c
Show First 20 Lines • Show All 266 Lines • ▼ Show 20 Lines | hn_nvs_conn_chim(struct hn_softc *sc) | ||||
vmbus_xact_put(xact); | vmbus_xact_put(xact); | ||||
xact = NULL; | xact = NULL; | ||||
if (status != HN_NVS_STATUS_OK) { | if (status != HN_NVS_STATUS_OK) { | ||||
if_printf(sc->hn_ifp, "nvs chim conn failed: %x\n", status); | if_printf(sc->hn_ifp, "nvs chim conn failed: %x\n", status); | ||||
error = EIO; | error = EIO; | ||||
goto cleanup; | goto cleanup; | ||||
} | } | ||||
if (sectsz == 0) { | if (sectsz == 0 || sectsz % sizeof(uint32_t) != 0) { | ||||
/* | /* | ||||
* Can't use chimney sending buffer; done! | * Can't use chimney sending buffer; done! | ||||
*/ | */ | ||||
if (sectsz == 0) { | |||||
if_printf(sc->hn_ifp, "zero chimney sending buffer " | if_printf(sc->hn_ifp, "zero chimney sending buffer " | ||||
"section size\n"); | "section size\n"); | ||||
} else { | |||||
if_printf(sc->hn_ifp, "misaligned chimney sending " | |||||
"buffers, section size: %u\n", sectsz); | |||||
} | |||||
sc->hn_chim_szmax = 0; | sc->hn_chim_szmax = 0; | ||||
sc->hn_chim_cnt = 0; | sc->hn_chim_cnt = 0; | ||||
sc->hn_flags |= HN_FLAG_CHIM_CONNECTED; | sc->hn_flags |= HN_FLAG_CHIM_CONNECTED; | ||||
return (0); | return (0); | ||||
} | } | ||||
sc->hn_chim_szmax = sectsz; | sc->hn_chim_szmax = sectsz; | ||||
sc->hn_chim_cnt = HN_CHIM_SIZE / sc->hn_chim_szmax; | sc->hn_chim_cnt = HN_CHIM_SIZE / sc->hn_chim_szmax; | ||||
▲ Show 20 Lines • Show All 447 Lines • Show Last 20 Lines |