svn commit: r318232 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:35:20 2017 New Revision: 318232 URL: https://svnweb.freebsd.org/changeset/base/318232 Log: [iwm] Recognize IWM_FW_PAGING_BLOCK_CMD wide cmd response correctly. Obtained from:dragonflybsd.git ef688cebb9b29b67f7a011846589971987949e0d Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:34:43 2017(r318231) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:35:20 2017(r318232) @@ -5459,7 +5459,8 @@ iwm_handle_rxb(struct iwm_softc *sc, str case IWM_REMOVE_STA: case IWM_TXPATH_FLUSH: case IWM_LQ_CMD: - case IWM_FW_PAGING_BLOCK_CMD: + case IWM_WIDE_ID(IWM_ALWAYS_LONG_GROUP, +IWM_FW_PAGING_BLOCK_CMD): case IWM_BT_CONFIG: case IWM_REPLY_THERMAL_MNG_BACKOFF: cresp = (void *)pkt->data; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318231 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:34:43 2017 New Revision: 318231 URL: https://svnweb.freebsd.org/changeset/base/318231 Log: [iwm] Revert "if_iwm - SCAN_ABORT_UMAC response doesn't use a wide id" This reverts commit cef47a9cbb0a3ce5f18369fed9403d2764884bc2. Obtained from:dragonflybsd.git f62d325820ee7f7c2bcf721ada9cef8b70f74471 Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:33:55 2017(r318230) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:34:43 2017(r318231) @@ -5450,7 +5450,7 @@ iwm_handle_rxb(struct iwm_softc *sc, str case IWM_TIME_EVENT_CMD: case IWM_WIDE_ID(IWM_ALWAYS_LONG_GROUP, IWM_SCAN_CFG_CMD): case IWM_WIDE_ID(IWM_ALWAYS_LONG_GROUP, IWM_SCAN_REQ_UMAC): - case IWM_SCAN_ABORT_UMAC: + case IWM_WIDE_ID(IWM_ALWAYS_LONG_GROUP, IWM_SCAN_ABORT_UMAC): case IWM_SCAN_OFFLOAD_REQUEST_CMD: case IWM_SCAN_OFFLOAD_ABORT_CMD: case IWM_REPLY_BEACON_FILTERING_CMD: ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318230 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:33:55 2017 New Revision: 318230 URL: https://svnweb.freebsd.org/changeset/base/318230 Log: [iwm] Fix iwm_mvm_send_cmd_pdu(_status) declarations. Make id a uint32_t. * This fixes cases where the group id of wide commands got lost, e.g. this happened to the IWM_SCAN_ABORT_UMAC command. Obtained from:dragonflybsd.git 71310fab0caca79bb5da43d9d642e77a4c27eea2 Modified: head/sys/dev/iwm/if_iwm_util.c head/sys/dev/iwm/if_iwm_util.h Modified: head/sys/dev/iwm/if_iwm_util.c == --- head/sys/dev/iwm/if_iwm_util.c Fri May 12 06:33:07 2017 (r318229) +++ head/sys/dev/iwm/if_iwm_util.c Fri May 12 06:33:55 2017 (r318230) @@ -346,7 +346,7 @@ iwm_send_cmd(struct iwm_softc *sc, struc /* iwlwifi: mvm/utils.c */ int -iwm_mvm_send_cmd_pdu(struct iwm_softc *sc, uint8_t id, +iwm_mvm_send_cmd_pdu(struct iwm_softc *sc, uint32_t id, uint32_t flags, uint16_t len, const void *data) { struct iwm_host_cmd cmd = { @@ -402,7 +402,7 @@ iwm_mvm_send_cmd_status(struct iwm_softc /* iwlwifi/mvm/utils.c */ int -iwm_mvm_send_cmd_pdu_status(struct iwm_softc *sc, uint8_t id, +iwm_mvm_send_cmd_pdu_status(struct iwm_softc *sc, uint32_t id, uint16_t len, const void *data, uint32_t *status) { struct iwm_host_cmd cmd = { Modified: head/sys/dev/iwm/if_iwm_util.h == --- head/sys/dev/iwm/if_iwm_util.h Fri May 12 06:33:07 2017 (r318229) +++ head/sys/dev/iwm/if_iwm_util.h Fri May 12 06:33:55 2017 (r318230) @@ -107,12 +107,12 @@ #define__IF_IWM_UTIL_H__ extern int iwm_send_cmd(struct iwm_softc *sc, struct iwm_host_cmd *hcmd); -extern int iwm_mvm_send_cmd_pdu(struct iwm_softc *sc, uint8_t id, +extern int iwm_mvm_send_cmd_pdu(struct iwm_softc *sc, uint32_t id, uint32_t flags, uint16_t len, const void *data); extern int iwm_mvm_send_cmd_status(struct iwm_softc *sc, struct iwm_host_cmd *cmd, uint32_t *status); -extern int iwm_mvm_send_cmd_pdu_status(struct iwm_softc *sc, uint8_t id, +extern int iwm_mvm_send_cmd_pdu_status(struct iwm_softc *sc, uint32_t id, uint16_t len, const void *data, uint32_t *status); extern void iwm_free_resp(struct iwm_softc *sc, struct iwm_host_cmd *hcmd); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318229 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:33:07 2017 New Revision: 318229 URL: https://svnweb.freebsd.org/changeset/base/318229 Log: [iwm] Adjust if_iwm_sta.h prototypes, don't pass iwm_node to rm_sta(). * Since a RUN -> INIT/SCAN transition seems to immediately destroy the ieee80211_node for the AP, we can't read the in_assoc value from there. Instead just directly pass that information via a boolean_t argument. * Adds iwm_mvm_rm_sta_id() function, which just unconditionally removes the station from the firmware. * The iwm_mvm_rm_sta() function shouldn't actually remove the station from firmware when we are still associated (i.e. during a RUN -> INIT/SCAN transition). * So when disassociating we will first call iwm_mvm_rm_sta() to drain the queues/fifos. Later during disassociation we will then use iwm_mvm_rm_sta_id() to actually remove the station. Inspired-By: Linux iwlwifi Obtained from:dragonflybsd.git 81b3c1fe9122fa22f33d97103039cc375f656231 Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_sta.c head/sys/dev/iwm/if_iwm_sta.h Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:31:57 2017(r318228) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:33:07 2017(r318229) @@ -4396,8 +4396,7 @@ iwm_newstate(struct ieee80211vap *vap, e myerr = ivp->iv_newstate(vap, nstate, arg); IEEE80211_UNLOCK(ic); IWM_LOCK(sc); - in = IWM_NODE(vap->iv_bss); - error = iwm_mvm_rm_sta(sc, vap, in); + error = iwm_mvm_rm_sta(sc, vap, FALSE); if (error) { device_printf(sc->sc_dev, "%s: Failed to remove station: %d\n", Modified: head/sys/dev/iwm/if_iwm_sta.c == --- head/sys/dev/iwm/if_iwm_sta.c Fri May 12 06:31:57 2017 (r318228) +++ head/sys/dev/iwm/if_iwm_sta.c Fri May 12 06:33:07 2017 (r318229) @@ -213,10 +213,9 @@ iwm_mvm_update_sta(struct iwm_softc *sc, } int -iwm_mvm_drain_sta(struct iwm_softc *sc, struct iwm_node *in, boolean_t drain) +iwm_mvm_drain_sta(struct iwm_softc *sc, struct iwm_vap *ivp, boolean_t drain) { struct iwm_mvm_add_sta_cmd cmd = {}; - struct iwm_vap *ivp = IWM_VAP(in->in_ni.ni_vap); int ret; uint32_t status; @@ -275,13 +274,13 @@ iwm_mvm_rm_sta_common(struct iwm_softc * int iwm_mvm_rm_sta(struct iwm_softc *sc, struct ieee80211vap *vap, - struct iwm_node *in) + boolean_t is_assoc) { uint32_t tfd_queue_msk = 0; int ret; int ac; - ret = iwm_mvm_drain_sta(sc, in, TRUE); + ret = iwm_mvm_drain_sta(sc, IWM_VAP(vap), TRUE); if (ret) return ret; mbufq_drain(&sc->sc_snd); /* XXX needed ? */ @@ -297,13 +296,12 @@ iwm_mvm_rm_sta(struct iwm_softc *sc, str if (ret) return ret; #endif - ret = iwm_mvm_drain_sta(sc, in, FALSE); + ret = iwm_mvm_drain_sta(sc, IWM_VAP(vap), FALSE); -#if 0 /* if we are associated - we can't remove the AP STA now */ - if (sta->assoc) + if (is_assoc) return ret; -#endif + /* XXX wait until STA is drained */ ret = iwm_mvm_rm_sta_common(sc); @@ -311,6 +309,14 @@ iwm_mvm_rm_sta(struct iwm_softc *sc, str return ret; } +int +iwm_mvm_rm_sta_id(struct iwm_softc *sc, struct ieee80211vap *vap) +{ + /* XXX wait until STA is drained */ + + return iwm_mvm_rm_sta_common(sc); +} + static int iwm_mvm_add_int_sta_common(struct iwm_softc *sc, struct iwm_int_sta *sta, const uint8_t *addr, uint16_t mac_id, uint16_t color) Modified: head/sys/dev/iwm/if_iwm_sta.h == --- head/sys/dev/iwm/if_iwm_sta.h Fri May 12 06:31:57 2017 (r318228) +++ head/sys/dev/iwm/if_iwm_sta.h Fri May 12 06:33:07 2017 (r318229) @@ -211,12 +211,13 @@ externint iwm_mvm_sta_send_to_fw(struct extern int iwm_mvm_add_sta(struct iwm_softc *sc, struct iwm_node *in); extern int iwm_mvm_update_sta(struct iwm_softc *sc, struct iwm_node *in); extern int iwm_mvm_rm_sta(struct iwm_softc *sc, struct ieee80211vap *vap, - struct iwm_node *in); + boolean_t is_assoc); +extern int iwm_mvm_rm_sta_id(struct iwm_softc *sc, struct ieee80211vap *vap); extern int iwm_mvm_add_aux_sta(struct iwm_softc *sc); extern void iwm_mvm_del_aux_sta(struct iwm_softc *sc); -extern int iwm_mvm_drain_sta(struct iwm_softc *sc, struct iwm_node *in, +extern int iwm_mvm_drain_sta(struct iwm_softc *sc, struct iwm_vap *ivp,
svn commit: r318228 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:31:57 2017 New Revision: 318228 URL: https://svnweb.freebsd.org/changeset/base/318228 Log: [iwm] Make powersaving more similar to Linux iwlwifi behaviour. * Add a per-vap ps_disabled flag, and use it for a workaround which fixes an association issue when powersaving is enabled. * Compute flag that should correpsond to the mvmif->bss_conf.ps flag in Linux's iwlwifi (e.g. this disallows powersaving when not associated yet). Inspired-By: Linux iwlwifi Obtained from:dragonflybsd.git dc2e69bdfe8c9d7049c8a28da0adffbfbc6de5c0 Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_power.c head/sys/dev/iwm/if_iwmvar.h Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:30:50 2017(r318227) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:31:57 2017(r318228) @@ -4044,7 +4044,15 @@ iwm_auth(struct ieee80211vap *vap, struc "%s: binding update cmd\n", __func__); goto out; } - if ((error = iwm_mvm_power_update_mac(sc)) != 0) { + /* +* Authentication becomes unreliable when powersaving is left enabled +* here. Powersaving will be activated again when association has +* finished or is aborted. +*/ + iv->ps_disabled = TRUE; + error = iwm_mvm_power_update_mac(sc); + iv->ps_disabled = FALSE; + if (error != 0) { device_printf(sc->sc_dev, "%s: failed to update power management\n", __func__); @@ -6277,6 +6285,7 @@ iwm_vap_create(struct ieee80211com *ic, ivp->color = IWM_DEFAULT_COLOR; ivp->have_wme = FALSE; + ivp->ps_disabled = FALSE; ieee80211_ratectl_init(vap); /* Complete setup. */ Modified: head/sys/dev/iwm/if_iwm_power.c == --- head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:30:50 2017 (r318227) +++ head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:31:57 2017 (r318228) @@ -285,6 +285,7 @@ iwm_mvm_power_build_cmd(struct iwm_softc struct ieee80211_node *ni = vap->iv_bss; int dtimper, dtimper_msec; int keep_alive; + boolean_t bss_conf_ps = FALSE; cmd->id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(ivp->id, ivp->color)); @@ -306,6 +307,14 @@ iwm_mvm_power_build_cmd(struct iwm_softc return; cmd->flags |= htole16(IWM_POWER_FLAGS_POWER_SAVE_ENA_MSK); + + if (IWM_NODE(ni)->in_assoc && + (vap->iv_flags & IEEE80211_F_PMGTON) != 0) { + bss_conf_ps = TRUE; + } + if (!bss_conf_ps) + return; + cmd->flags |= htole16(IWM_POWER_FLAGS_POWER_MANAGEMENT_ENA_MSK); iwm_mvm_power_config_skip_dtim(sc, cmd); @@ -370,15 +379,18 @@ iwm_mvm_disable_beacon_filter(struct iwm static int iwm_mvm_power_set_ps(struct iwm_softc *sc) { - struct ieee80211vap *vap = TAILQ_FIRST(&sc->sc_ic.ic_vaps); + struct ieee80211vap *vap; boolean_t disable_ps; int ret; /* disable PS if CAM */ disable_ps = (iwm_power_scheme == IWM_POWER_SCHEME_CAM); /* ...or if any of the vifs require PS to be off */ - if (vap != NULL && (vap->iv_flags & IEEE80211_F_PMGTON) == 0) - disable_ps = TRUE; + TAILQ_FOREACH(vap, &sc->sc_ic.ic_vaps, iv_next) { + struct iwm_vap *ivp = IWM_VAP(vap); + if (ivp->phy_ctxt != NULL && ivp->ps_disabled) + disable_ps = TRUE; + } /* update device power state if it has changed */ if (sc->sc_ps_disabled != disable_ps) { @@ -402,11 +414,18 @@ iwm_mvm_power_set_ba(struct iwm_softc *s IWM_BF_CMD_CONFIG_DEFAULTS, .bf_enable_beacon_filter = htole32(1), }; + struct ieee80211vap *vap = &ivp->iv_vap; + struct ieee80211_node *ni = vap->iv_bss; + boolean_t bss_conf_ps = FALSE; if (!sc->sc_bf.bf_enabled) return 0; - sc->sc_bf.ba_enabled = !sc->sc_ps_disabled; + if (ni != NULL && IWM_NODE(ni)->in_assoc && + (vap->iv_flags & IEEE80211_F_PMGTON) != 0) { + bss_conf_ps = TRUE; + } + sc->sc_bf.ba_enabled = !sc->sc_ps_disabled && bss_conf_ps; return _iwm_mvm_enable_beacon_filter(sc, ivp, &cmd); } Modified: head/sys/dev/iwm/if_iwmvar.h == --- head/sys/dev/iwm/if_iwmvar.hFri May 12 06:30:50 2017 (r318227) +++ head/sys/dev/iwm/if_iwmvar.hFri May 12 06:31:57 2017 (r318228) @@ -390,6 +390,9 @@ struct iwm_vap { uint16_t edca_txop; uint8_t aifsn; } queue_params[WME_NUM_AC]; + + /
svn commit: r318227 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:30:50 2017 New Revision: 318227 URL: https://svnweb.freebsd.org/changeset/base/318227 Log: [iwm] Clean up if_iwm_power.c a bit. Fix iwm_power_scheme debug print. Obtained from:dragonflybsd.git 52c3adbee676d8558065618e5ad694ea5c6697e0 Modified: head/sys/dev/iwm/if_iwm_power.c Modified: head/sys/dev/iwm/if_iwm_power.c == --- head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:30:06 2017 (r318226) +++ head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:30:50 2017 (r318227) @@ -212,7 +212,7 @@ iwm_mvm_power_log(struct iwm_softc *sc, IWM_DPRINTF(sc, IWM_DEBUG_PWRSAVE | IWM_DEBUG_CMD, "Sending power table command on mac id 0x%X for " "power level %d, flags = 0x%X\n", - cmd->id_and_color, IWM_POWER_SCHEME_CAM, le16toh(cmd->flags)); + cmd->id_and_color, iwm_power_scheme, le16toh(cmd->flags)); IWM_DPRINTF(sc, IWM_DEBUG_PWRSAVE | IWM_DEBUG_CMD, "Keep alive = %u sec\n", le16toh(cmd->keep_alive_seconds)); @@ -281,11 +281,10 @@ static void iwm_mvm_power_build_cmd(struct iwm_softc *sc, struct iwm_vap *ivp, struct iwm_mac_power_cmd *cmd) { - struct ieee80211_node *ni = ivp->iv_vap.iv_bss; + struct ieee80211vap *vap = &ivp->iv_vap; + struct ieee80211_node *ni = vap->iv_bss; int dtimper, dtimper_msec; int keep_alive; - struct ieee80211com *ic = &sc->sc_ic; - struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); cmd->id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(ivp->id, ivp->color)); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318226 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:30:06 2017 New Revision: 318226 URL: https://svnweb.freebsd.org/changeset/base/318226 Log: [iwm] Switch arguments from iwm_node* to iwm_vap* in if_iwm_power.c. * Power management handling is per-vap, not per-node, so we should pass the iwm_vap in these arguments. Obtained from:dragonflybsd.git 62a4e7957a736b4de38938b02fa7eb9b45bc5d0d Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_power.c head/sys/dev/iwm/if_iwm_power.h Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:21:03 2017(r318225) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:30:06 2017(r318226) @@ -4462,7 +4462,7 @@ iwm_newstate(struct ieee80211vap *vap, e "%s: failed to update MAC: %d\n", __func__, error); } - iwm_mvm_enable_beacon_filter(sc, in); + iwm_mvm_enable_beacon_filter(sc, ivp); iwm_mvm_power_update_mac(sc); iwm_mvm_update_quotas(sc, ivp); iwm_setrates(sc, in); Modified: head/sys/dev/iwm/if_iwm_power.c == --- head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:21:03 2017 (r318225) +++ head/sys/dev/iwm/if_iwm_power.c Fri May 12 06:30:06 2017 (r318226) @@ -201,7 +201,7 @@ iwm_mvm_beacon_filter_send_cmd(struct iw static void iwm_mvm_beacon_filter_set_cqm_params(struct iwm_softc *sc, - struct iwm_node *in, struct iwm_beacon_filter_cmd *cmd) + struct iwm_vap *ivp, struct iwm_beacon_filter_cmd *cmd) { cmd->ba_enable_beacon_abort = htole32(sc->sc_bf.ba_enabled); } @@ -278,15 +278,14 @@ iwm_mvm_power_config_skip_dtim(struct iw } static void -iwm_mvm_power_build_cmd(struct iwm_softc *sc, struct iwm_node *in, +iwm_mvm_power_build_cmd(struct iwm_softc *sc, struct iwm_vap *ivp, struct iwm_mac_power_cmd *cmd) { - struct ieee80211_node *ni = &in->in_ni; + struct ieee80211_node *ni = ivp->iv_vap.iv_bss; int dtimper, dtimper_msec; int keep_alive; struct ieee80211com *ic = &sc->sc_ic; struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); - struct iwm_vap *ivp = IWM_VAP(vap); cmd->id_and_color = htole32(IWM_FW_CMD_ID_AND_COLOR(ivp->id, ivp->color)); @@ -319,11 +318,11 @@ iwm_mvm_power_build_cmd(struct iwm_softc } static int -iwm_mvm_power_send_cmd(struct iwm_softc *sc, struct iwm_node *in) +iwm_mvm_power_send_cmd(struct iwm_softc *sc, struct iwm_vap *ivp) { struct iwm_mac_power_cmd cmd = {}; - iwm_mvm_power_build_cmd(sc, in, &cmd); + iwm_mvm_power_build_cmd(sc, ivp, &cmd); iwm_mvm_power_log(sc, &cmd); return iwm_mvm_send_cmd_pdu(sc, IWM_MAC_PM_POWER_TABLE, 0, @@ -331,12 +330,12 @@ iwm_mvm_power_send_cmd(struct iwm_softc } static int -_iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_node *in, +_iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_vap *ivp, struct iwm_beacon_filter_cmd *cmd) { int ret; - iwm_mvm_beacon_filter_set_cqm_params(sc, in, cmd); + iwm_mvm_beacon_filter_set_cqm_params(sc, ivp, cmd); ret = iwm_mvm_beacon_filter_send_cmd(sc, cmd); if (!ret) @@ -346,14 +345,14 @@ _iwm_mvm_enable_beacon_filter(struct iwm } int -iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_node *in) +iwm_mvm_enable_beacon_filter(struct iwm_softc *sc, struct iwm_vap *ivp) { struct iwm_beacon_filter_cmd cmd = { IWM_BF_CMD_CONFIG_DEFAULTS, .bf_enable_beacon_filter = htole32(1), }; - return _iwm_mvm_enable_beacon_filter(sc, in, &cmd); + return _iwm_mvm_enable_beacon_filter(sc, ivp, &cmd); } int @@ -398,7 +397,7 @@ iwm_mvm_power_set_ps(struct iwm_softc *s } static int -iwm_mvm_power_set_ba(struct iwm_softc *sc, struct iwm_node *in) +iwm_mvm_power_set_ba(struct iwm_softc *sc, struct iwm_vap *ivp) { struct iwm_beacon_filter_cmd cmd = { IWM_BF_CMD_CONFIG_DEFAULTS, @@ -410,7 +409,7 @@ iwm_mvm_power_set_ba(struct iwm_softc *s sc->sc_bf.ba_enabled = !sc->sc_ps_disabled; - return _iwm_mvm_enable_beacon_filter(sc, in, &cmd); + return _iwm_mvm_enable_beacon_filter(sc, ivp, &cmd); } int @@ -424,7 +423,7 @@ iwm_mvm_power_update_ps(struct iwm_softc return ret; if (vap != NULL) - return iwm_mvm_power_set_ba(sc, IWM_NODE(vap->iv_bss)); + return iwm_mvm_power_set_ba(sc, IWM_VAP(vap)); return 0; } @@ -440,13 +439,13 @@ iwm_mvm_power_update_mac(struct iwm_soft return ret; if (vap != NULL) { - ret = iwm_mvm_power_send_cmd(sc, IWM_NODE(vap->iv_bss)); + ret = iwm_mvm_power_send_cmd(sc, IWM_V
svn commit: r318225 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:21:03 2017 New Revision: 318225 URL: https://svnweb.freebsd.org/changeset/base/318225 Log: [iwm] Already call iwm_mvm_power_update_mac() during SCAN<->AUTH paths. * Otherwise we would never update powersaving settings until we complete an association, after the first authentication attempt. * This corresponds to what Linux iwlwifi seems to do. Obtained from:dragonflybsd.git aa128dc02a17c2e616232ef0fa997121e969c995 Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:16:11 2017(r318224) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:21:03 2017(r318225) @@ -4029,12 +4029,6 @@ iwm_auth(struct ieee80211vap *vap, struc "%s: failed to add MAC\n", __func__); goto out; } - if ((error = iwm_mvm_power_update_mac(sc)) != 0) { - device_printf(sc->sc_dev, - "%s: failed to update power management\n", - __func__); - goto out; - } } if ((error = iwm_mvm_phy_ctxt_changed(sc, &sc->sc_phyctxt[0], @@ -4050,6 +4044,12 @@ iwm_auth(struct ieee80211vap *vap, struc "%s: binding update cmd\n", __func__); goto out; } + if ((error = iwm_mvm_power_update_mac(sc)) != 0) { + device_printf(sc->sc_dev, + "%s: failed to update power management\n", + __func__); + goto out; + } if ((error = iwm_mvm_add_sta(sc, in)) != 0) { device_printf(sc->sc_dev, "%s: failed to add sta\n", __func__); @@ -4408,6 +4408,12 @@ iwm_newstate(struct ieee80211vap *vap, e __func__, error); } ivp->phy_ctxt = NULL; + error = iwm_mvm_power_update_mac(sc); + if (error != 0) { + device_printf(sc->sc_dev, + "%s: failed to update power management\n", + __func__); + } IWM_UNLOCK(sc); IEEE80211_LOCK(ic); return myerr; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318224 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:16:11 2017 New Revision: 318224 URL: https://svnweb.freebsd.org/changeset/base/318224 Log: [iwm] Refuse connection to APs with beacon interval < 16. Obtained from:dragonflybsd.git aba448de727e9b122adadeb36fd00a8ad6018d4f Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:05:34 2017(r318223) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:16:11 2017(r318224) @@ -3976,6 +3976,21 @@ iwm_auth(struct ieee80211vap *vap, struc in->in_assoc = 0; + /* +* Firmware bug - it'll crash if the beacon interval is less +* than 16. We can't avoid connecting at all, so refuse the +* station state change, this will cause net80211 to abandon +* attempts to connect to this AP, and eventually wpa_s will +* blacklist the AP... +*/ + if (ni->ni_intval < 16) { + device_printf(sc->sc_dev, + "AP %s beacon interval is %d, refusing due to firmware bug!\n", + ether_sprintf(ni->ni_bssid), ni->ni_intval); + error = EINVAL; + goto out; + } + error = iwm_mvm_sf_config(sc, IWM_SF_FULL_ON); if (error != 0) return error; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318223 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 06:05:34 2017 New Revision: 318223 URL: https://svnweb.freebsd.org/changeset/base/318223 Log: [iwm] Handle AUTH->SCAN/INIT and ASSOC->SCAN/INIT better * Tear down the relevant firmware state (i.e. the station, the vif binding) in these transition cases. * Before this case would leave the firmware state lying around, resulting in errors and firmware panics in the subsequent association attempts. Obtained from:dragonflybsd.git 94b501399fde6368ae388a669c95b099a6e66e93 Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 06:03:23 2017(r318222) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:05:34 2017(r318223) @@ -4364,6 +4364,39 @@ iwm_newstate(struct ieee80211vap *vap, e switch (nstate) { case IEEE80211_S_INIT: + case IEEE80211_S_SCAN: + if (vap->iv_state == IEEE80211_S_AUTH || + vap->iv_state == IEEE80211_S_ASSOC) { + int myerr; + IWM_UNLOCK(sc); + IEEE80211_LOCK(ic); + myerr = ivp->iv_newstate(vap, nstate, arg); + IEEE80211_UNLOCK(ic); + IWM_LOCK(sc); + in = IWM_NODE(vap->iv_bss); + error = iwm_mvm_rm_sta(sc, vap, in); +if (error) { +device_printf(sc->sc_dev, + "%s: Failed to remove station: %d\n", + __func__, error); + } + error = iwm_mvm_mac_ctxt_changed(sc, vap); +if (error) { +device_printf(sc->sc_dev, +"%s: Failed to change mac context: %d\n", +__func__, error); +} +error = iwm_mvm_binding_remove_vif(sc, ivp); +if (error) { +device_printf(sc->sc_dev, +"%s: Failed to remove channel ctx: %d\n", +__func__, error); +} + ivp->phy_ctxt = NULL; + IWM_UNLOCK(sc); + IEEE80211_LOCK(ic); + return myerr; + } break; case IEEE80211_S_AUTH: ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318222 - in head/sys: conf dev/iwm modules/iwm
Author: adrian Date: Fri May 12 06:03:23 2017 New Revision: 318222 URL: https://svnweb.freebsd.org/changeset/base/318222 Log: [iwm] Factor out firmware station handling into if_iwm_sta.c. * This adds iwm_mvm_rm_sta(), which will be used to tear down firmware state for better/cleaner iwm_newstate() handling. * Makes iwm_enable_txq() and iwm_mvm_flush_tx_path() non-static, add the declarations to if_iwm_util.h for now. Obtained from:dragonflybsd.git 85d1c6190c4c3564b1a347f253e823aa95c202b2 Added: head/sys/dev/iwm/if_iwm_sta.c (contents, props changed) head/sys/dev/iwm/if_iwm_sta.h (contents, props changed) Modified: head/sys/conf/files head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_util.h head/sys/modules/iwm/Makefile Modified: head/sys/conf/files == --- head/sys/conf/files Fri May 12 05:53:28 2017(r318221) +++ head/sys/conf/files Fri May 12 06:03:23 2017(r318222) @@ -1855,6 +1855,7 @@ dev/iwm/if_iwm_phy_ctxt.c optional iwm dev/iwm/if_iwm_phy_db.coptional iwm dev/iwm/if_iwm_power.c optional iwm dev/iwm/if_iwm_scan.c optional iwm +dev/iwm/if_iwm_sta.c optional iwm dev/iwm/if_iwm_time_event.coptional iwm dev/iwm/if_iwm_util.c optional iwm iwm3160fw.coptional iwm3160fw | iwmfw \ Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:53:28 2017(r318221) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 06:03:23 2017(r318222) @@ -164,6 +164,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -265,7 +266,6 @@ static void iwm_mvm_nic_config(struct iw static int iwm_nic_rx_init(struct iwm_softc *); static int iwm_nic_tx_init(struct iwm_softc *); static int iwm_nic_init(struct iwm_softc *); -static int iwm_enable_txq(struct iwm_softc *, int, int, int); static int iwm_trans_pcie_fw_alive(struct iwm_softc *, uint32_t); static int iwm_nvm_read_chunk(struct iwm_softc *, uint16_t, uint16_t, uint16_t, uint8_t *, uint16_t *); @@ -344,19 +344,6 @@ static int iwm_tx(struct iwm_softc *, st struct ieee80211_node *, int); static int iwm_raw_xmit(struct ieee80211_node *, struct mbuf *, const struct ieee80211_bpf_params *); -static int iwm_mvm_flush_tx_path(struct iwm_softc *sc, - uint32_t tfd_msk, uint32_t flags); -static int iwm_mvm_send_add_sta_cmd_status(struct iwm_softc *, - struct iwm_mvm_add_sta_cmd *, -int *); -static int iwm_mvm_sta_send_to_fw(struct iwm_softc *, struct iwm_node *, - int); -static int iwm_mvm_add_sta(struct iwm_softc *, struct iwm_node *); -static int iwm_mvm_update_sta(struct iwm_softc *, struct iwm_node *); -static int iwm_mvm_add_int_sta_common(struct iwm_softc *, - struct iwm_int_sta *, - const uint8_t *, uint16_t, uint16_t); -static int iwm_mvm_add_aux_sta(struct iwm_softc *); static int iwm_mvm_update_quotas(struct iwm_softc *, struct iwm_vap *); static int iwm_auth(struct ieee80211vap *, struct iwm_softc *); static int iwm_release(struct iwm_softc *, struct iwm_node *); @@ -1532,7 +1519,7 @@ iwm_nic_init(struct iwm_softc *sc) return 0; } -static int +int iwm_enable_txq(struct iwm_softc *sc, int sta_id, int qid, int fifo) { if (!iwm_nic_lock(sc)) { @@ -3884,137 +3871,6 @@ iwm_mvm_flush_tx_path(struct iwm_softc * } /* - * BEGIN mvm/sta.c - */ - -static int -iwm_mvm_send_add_sta_cmd_status(struct iwm_softc *sc, - struct iwm_mvm_add_sta_cmd *cmd, int *status) -{ - return iwm_mvm_send_cmd_pdu_status(sc, IWM_ADD_STA, sizeof(*cmd), - cmd, status); -} - -/* send station add/update command to firmware */ -static int -iwm_mvm_sta_send_to_fw(struct iwm_softc *sc, struct iwm_node *in, int update) -{ - struct iwm_vap *ivp = IWM_VAP(in->in_ni.ni_vap); - struct iwm_mvm_add_sta_cmd add_sta_cmd; - int ret; - uint32_t status; - - memset(&add_sta_cmd, 0, sizeof(add_sta_cmd)); - - add_sta_cmd.sta_id = IWM_STATION_ID; - add_sta_cmd.mac_id_n_color - = htole32(IWM_FW_CMD_ID_AND_COLOR(ivp->id, ivp->color)); - if (!update) { - int ac; - for (ac = 0; ac < WME_NUM_AC; ac++) { - add_sta_cmd.tfd_queue_msk |= - htole32(1 << iwm_mvm_ac_to_tx_fifo[ac]); - } - IEEE80211_ADDR_COPY(&add_sta_cmd.addr, in->in_ni.ni_bssid);
svn commit: r318221 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:53:28 2017 New Revision: 318221 URL: https://svnweb.freebsd.org/changeset/base/318221 Log: [iwm] Deduplicate code in iwm_auth() from an if condition. Obtained from:dragonflybsd.git 03c6e6970115727c9d39f9358e0500ab4f4634cd Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:51:50 2017(r318220) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:53:28 2017(r318221) @@ -4152,24 +4152,6 @@ iwm_auth(struct ieee80211vap *vap, struc "%s: failed to update MAC\n", __func__); goto out; } - if ((error = iwm_mvm_phy_ctxt_changed(sc, &sc->sc_phyctxt[0], - in->in_ni.ni_chan, 1, 1)) != 0) { - device_printf(sc->sc_dev, - "%s: failed update phy ctxt\n", __func__); - goto out; - } - iv->phy_ctxt = &sc->sc_phyctxt[0]; - - if ((error = iwm_mvm_binding_add_vif(sc, iv)) != 0) { - device_printf(sc->sc_dev, - "%s: binding update cmd\n", __func__); - goto out; - } - if ((error = iwm_mvm_add_sta(sc, in)) != 0) { - device_printf(sc->sc_dev, - "%s: failed to add sta\n", __func__); - goto out; - } } else { if ((error = iwm_mvm_mac_ctxt_add(sc, vap)) != 0) { device_printf(sc->sc_dev, @@ -4182,25 +4164,25 @@ iwm_auth(struct ieee80211vap *vap, struc __func__); goto out; } - if ((error = iwm_mvm_phy_ctxt_changed(sc, &sc->sc_phyctxt[0], - in->in_ni.ni_chan, 1, 1)) != 0) { - device_printf(sc->sc_dev, - "%s: failed add phy ctxt!\n", __func__); - error = ETIMEDOUT; - goto out; - } - iv->phy_ctxt = &sc->sc_phyctxt[0]; + } - if ((error = iwm_mvm_binding_add_vif(sc, iv)) != 0) { - device_printf(sc->sc_dev, - "%s: binding add cmd\n", __func__); - goto out; - } - if ((error = iwm_mvm_add_sta(sc, in)) != 0) { - device_printf(sc->sc_dev, - "%s: failed to add sta\n", __func__); - goto out; - } + if ((error = iwm_mvm_phy_ctxt_changed(sc, &sc->sc_phyctxt[0], + in->in_ni.ni_chan, 1, 1)) != 0) { + device_printf(sc->sc_dev, + "%s: failed update phy ctxt\n", __func__); + goto out; + } + iv->phy_ctxt = &sc->sc_phyctxt[0]; + + if ((error = iwm_mvm_binding_add_vif(sc, iv)) != 0) { + device_printf(sc->sc_dev, + "%s: binding update cmd\n", __func__); + goto out; + } + if ((error = iwm_mvm_add_sta(sc, in)) != 0) { + device_printf(sc->sc_dev, + "%s: failed to add sta\n", __func__); + goto out; } /* ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318220 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:51:50 2017 New Revision: 318220 URL: https://svnweb.freebsd.org/changeset/base/318220 Log: [iwm] No need for iwm_assoc() in AUTH->ASSOC transition. * Hence no need to keep stuff in separate iwm_assoc() function, just inline the stuff into iwm_newstate(). Obtained from:dragonflybsd.git e8f7d88e0d030f138f95ecdb7c1a729d9fb0d6ab Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:50:38 2017(r318219) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:51:50 2017(r318220) @@ -359,7 +359,6 @@ static int iwm_mvm_add_int_sta_common(st static int iwm_mvm_add_aux_sta(struct iwm_softc *); static int iwm_mvm_update_quotas(struct iwm_softc *, struct iwm_vap *); static int iwm_auth(struct ieee80211vap *, struct iwm_softc *); -static int iwm_assoc(struct ieee80211vap *, struct iwm_softc *); static int iwm_release(struct iwm_softc *, struct iwm_node *); static struct ieee80211_node * iwm_node_alloc(struct ieee80211vap *, @@ -4166,9 +4165,9 @@ iwm_auth(struct ieee80211vap *vap, struc "%s: binding update cmd\n", __func__); goto out; } - if ((error = iwm_mvm_update_sta(sc, in)) != 0) { + if ((error = iwm_mvm_add_sta(sc, in)) != 0) { device_printf(sc->sc_dev, - "%s: failed to update sta\n", __func__); + "%s: failed to add sta\n", __func__); goto out; } } else { @@ -4220,28 +4219,6 @@ out: } static int -iwm_assoc(struct ieee80211vap *vap, struct iwm_softc *sc) -{ - struct iwm_node *in = IWM_NODE(vap->iv_bss); - int error; - - if ((error = iwm_mvm_update_sta(sc, in)) != 0) { - device_printf(sc->sc_dev, - "%s: failed to update STA\n", __func__); - return error; - } - - in->in_assoc = 1; - if ((error = iwm_mvm_mac_ctxt_changed(sc, vap)) != 0) { - device_printf(sc->sc_dev, - "%s: failed to update MAC\n", __func__); - return error; - } - - return 0; -} - -static int iwm_release(struct iwm_softc *sc, struct iwm_node *in) { uint32_t tfd_msk; @@ -4556,7 +4533,6 @@ iwm_newstate(struct ieee80211vap *vap, e device_printf(sc->sc_dev, "%s: could not move to auth state: %d\n", __func__, error); - break; } break; @@ -4565,13 +4541,7 @@ iwm_newstate(struct ieee80211vap *vap, e * EBS may be disabled due to previous failures reported by FW. * Reset EBS status here assuming environment has been changed. */ -sc->last_ebs_successful = TRUE; - if ((error = iwm_assoc(vap, sc)) != 0) { - device_printf(sc->sc_dev, - "%s: failed to associate: %d\n", __func__, - error); - break; - } + sc->last_ebs_successful = TRUE; break; case IEEE80211_S_RUN: @@ -4582,18 +4552,24 @@ iwm_newstate(struct ieee80211vap *vap, e .flags = IWM_CMD_SYNC, }; + in = IWM_NODE(vap->iv_bss); /* Update the association state, now we have it all */ /* (eg associd comes in at this point */ - error = iwm_assoc(vap, sc); + error = iwm_mvm_update_sta(sc, in); if (error != 0) { device_printf(sc->sc_dev, - "%s: failed to update association state: %d\n", - __func__, - error); - break; + "%s: failed to update STA\n", __func__); + IWM_UNLOCK(sc); + IEEE80211_LOCK(ic); + return error; + } + in->in_assoc = 1; + error = iwm_mvm_mac_ctxt_changed(sc, vap); + if (error != 0) { + device_printf(sc->sc_dev, + "%s: failed to update MAC: %d\n", __func__, error); } - in = IWM_NODE(vap->iv_bss); iwm_mvm_enable_beacon_filter(sc, in); iwm_mvm_power_update_mac(sc); iwm_mvm_update_quotas(sc, ivp); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318219 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:50:38 2017 New Revision: 318219 URL: https://svnweb.freebsd.org/changeset/base/318219 Log: [iwm] Properly implement iwm_wme_update callback function. * Inspired by iwn(4) and Linux iwlwifi. * Read wme parameters into a buffer within struct iwm_vap in iwm_wme_update(). * If we aren't associated yet, the new settings will soon be sent by iwm_mvm_mac_ctxt_changed() during association. * If we are already associated, explicitly call iwm_mvm_mac_ctxt_changed() from iwm_wme_update() to send the new settings to the firmware. * Change iwm_mvm_ac_to_tx_fifo mapping, to fit the freebsd net80211 WME stream class numbering, instead of Linux's enum ieee80211_ac_numbers. Obtained from:dragonflybsd.git b8bd6cd746d1f45e616ccfcbeed06dfe452a1108 Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_mac_ctxt.c head/sys/dev/iwm/if_iwm_mac_ctxt.h head/sys/dev/iwm/if_iwmvar.h Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:49:24 2017(r318218) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:50:38 2017(r318219) @@ -1533,13 +1533,6 @@ iwm_nic_init(struct iwm_softc *sc) return 0; } -const uint8_t iwm_mvm_ac_to_tx_fifo[] = { - IWM_MVM_TX_FIFO_VO, - IWM_MVM_TX_FIFO_VI, - IWM_MVM_TX_FIFO_BE, - IWM_MVM_TX_FIFO_BK, -}; - static int iwm_enable_txq(struct iwm_softc *sc, int sta_id, int qid, int fifo) { @@ -4258,7 +4251,7 @@ iwm_release(struct iwm_softc *sc, struct * from RUN back to SCAN is: * * iwm_mvm_power_mac_disable(sc, in); -* iwm_mvm_mac_ctxt_changed(sc, in); +* iwm_mvm_mac_ctxt_changed(sc, vap); * iwm_mvm_rm_sta(sc, in); * iwm_mvm_update_quotas(sc, NULL); * iwm_mvm_mac_ctxt_changed(sc, in); @@ -4295,7 +4288,7 @@ iwm_release(struct iwm_softc *sc, struct iwm_mvm_power_mac_disable(sc, in); - if ((error = iwm_mvm_mac_ctxt_changed(sc, in)) != 0) { + if ((error = iwm_mvm_mac_ctxt_changed(sc, vap)) != 0) { device_printf(sc->sc_dev, "mac ctxt change fail 1 %d\n", error); return error; } @@ -4307,7 +4300,7 @@ iwm_release(struct iwm_softc *sc, struct error = iwm_mvm_rm_sta(sc, in); in->in_assoc = 0; iwm_mvm_update_quotas(sc, NULL); - if ((error = iwm_mvm_mac_ctxt_changed(sc, in)) != 0) { + if ((error = iwm_mvm_mac_ctxt_changed(sc, vap)) != 0) { device_printf(sc->sc_dev, "mac ctxt change fail 2 %d\n", error); return error; } @@ -6260,12 +6253,47 @@ iwm_is_valid_ether_addr(uint8_t *addr) } static int -iwm_update_edca(struct ieee80211com *ic) +iwm_wme_update(struct ieee80211com *ic) { +#define IWM_EXP2(x)((1 << (x)) - 1)/* CWmin = 2^ECWmin - 1 */ struct iwm_softc *sc = ic->ic_softc; + struct ieee80211vap *vap = TAILQ_FIRST(&ic->ic_vaps); + struct iwm_vap *ivp = IWM_VAP(vap); + struct iwm_node *in; + struct wmeParams tmp[WME_NUM_AC]; + int aci, error; + + if (vap == NULL) + return (0); + + IEEE80211_LOCK(ic); + for (aci = 0; aci < WME_NUM_AC; aci++) + tmp[aci] = ic->ic_wme.wme_chanParams.cap_wmeParams[aci]; + IEEE80211_UNLOCK(ic); + + IWM_LOCK(sc); + for (aci = 0; aci < WME_NUM_AC; aci++) { + const struct wmeParams *ac = &tmp[aci]; + ivp->queue_params[aci].aifsn = ac->wmep_aifsn; + ivp->queue_params[aci].cw_min = IWM_EXP2(ac->wmep_logcwmin); + ivp->queue_params[aci].cw_max = IWM_EXP2(ac->wmep_logcwmax); + ivp->queue_params[aci].edca_txop = + IEEE80211_TXOP_TO_US(ac->wmep_txopLimit); + } + ivp->have_wme = TRUE; + if (ivp->is_uploaded && vap->iv_bss != NULL) { + in = IWM_NODE(vap->iv_bss); + if (in->in_assoc) { + if ((error = iwm_mvm_mac_ctxt_changed(sc, vap)) != 0) { + device_printf(sc->sc_dev, + "%s: failed to update MAC\n", __func__); + } + } + } + IWM_UNLOCK(sc); - device_printf(sc->sc_dev, "%s: called\n", __func__); return (0); +#undef IWM_EXP2 } static void @@ -6322,7 +6350,7 @@ iwm_preinit(void *arg) ic->ic_set_channel = iwm_set_channel; ic->ic_scan_curchan = iwm_scan_curchan; ic->ic_scan_mindwell = iwm_scan_mindwell; - ic->ic_wme.wme_update = iwm_update_edca; + ic->ic_wme.wme_update = iwm_wme_update; ic->ic_parent = iwm_parent; ic->ic_transmit = iwm_transmit; iwm_radiotap_attach(sc); @@ -6380,6 +6408,8 @@ iwm_vap_create(struct ieee80211com *ic, ivp->id = IWM_DEFAULT_MACID; ivp->color = IWM
svn commit: r318218 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:49:24 2017 New Revision: 318218 URL: https://svnweb.freebsd.org/changeset/base/318218 Log: [iwm] Process multiple frames per RX buffer. * Factor out iwm_handle_rxb() function from iwm_notif_intr(). * Removing the IWM_FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK flag allows the device to put multiple frames (both command responses and 80211 frames) into a single RX buffer. * Uses m_copym() to split up the receive buffers when multiple 80211 frames are received in one RX buffer. The effect is basically the same as when using m_split(), but we want to keep the original mbuf around when calling iwm_mvm_rx_rx_mpdu() to make error handling a bit easier for now. * Contains a small optimization to avoid the m_copym() when only a single 80211 frame is received in one RX buffer (i.e. matching the existing behaviour). Obtained from:dragonflybsd.git b5eb43f0280bbcfd26af51cf5a4b8e8ff3590b67 Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwmreg.h head/sys/dev/iwm/if_iwmvar.h Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:30:01 2017(r318217) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:49:24 2017(r318218) @@ -169,6 +169,9 @@ __FBSDID("$FreeBSD$"); #include #include +/* From DragonflyBSD */ +#define mtodoff(m, t, off) ((t)((m)->m_data + (off))) + const uint8_t iwm_nvm_channels[] = { /* 2.4 GHz */ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, @@ -320,16 +323,15 @@ static intiwm_rx_addbuf(struct iwm_soft static int iwm_mvm_get_signal_strength(struct iwm_softc *, struct iwm_rx_phy_info *); static voidiwm_mvm_rx_rx_phy_cmd(struct iwm_softc *, - struct iwm_rx_packet *, - struct iwm_rx_data *); + struct iwm_rx_packet *); static int iwm_get_noise(struct iwm_softc *sc, const struct iwm_mvm_statistics_rx_non_phy *); -static voidiwm_mvm_rx_rx_mpdu(struct iwm_softc *, struct mbuf *); +static boolean_t iwm_mvm_rx_rx_mpdu(struct iwm_softc *, struct mbuf *, + uint32_t, boolean_t); static int iwm_mvm_rx_tx_cmd_single(struct iwm_softc *, struct iwm_rx_packet *, struct iwm_node *); -static voidiwm_mvm_rx_tx_cmd(struct iwm_softc *, struct iwm_rx_packet *, - struct iwm_rx_data *); +static voidiwm_mvm_rx_tx_cmd(struct iwm_softc *, struct iwm_rx_packet *); static voidiwm_cmd_done(struct iwm_softc *, struct iwm_rx_packet *); #if 0 static voidiwm_update_sched(struct iwm_softc *, int, int, uint8_t, @@ -385,6 +387,7 @@ static const char * static voidiwm_nic_error(struct iwm_softc *); static voidiwm_nic_umac_error(struct iwm_softc *); #endif +static voidiwm_handle_rxb(struct iwm_softc *, struct mbuf *); static voidiwm_notif_intr(struct iwm_softc *); static voidiwm_intr(void *); static int iwm_attach(device_t); @@ -1432,14 +1435,21 @@ iwm_nic_rx_init(struct iwm_softc *sc) IWM_WRITE(sc, IWM_FH_RSCSR_CHNL0_STTS_WPTR_REG, sc->rxq.stat_dma.paddr >> 4); - /* Enable RX. */ + /* Enable Rx DMA +* XXX 5000 HW isn't supported by the iwm(4) driver. +* IWM_FH_RCSR_CHNL0_RX_IGNORE_RXF_EMPTY is set because of HW bug in +* the credit mechanism in 5000 HW RX FIFO +* Direct rx interrupts to hosts +* Rx buffer size 4 or 8k or 12k +* RB timeout 0x10 +* 256 RBDs +*/ IWM_WRITE(sc, IWM_FH_MEM_RCSR_CHNL0_CONFIG_REG, IWM_FH_RCSR_RX_CONFIG_CHNL_EN_ENABLE_VAL| IWM_FH_RCSR_CHNL0_RX_IGNORE_RXF_EMPTY | /* HW bug */ IWM_FH_RCSR_CHNL0_RX_CONFIG_IRQ_DEST_INT_HOST_VAL | - IWM_FH_RCSR_CHNL0_RX_CONFIG_SINGLE_FRAME_MSK| - (IWM_RX_RB_TIMEOUT << IWM_FH_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS) | IWM_FH_RCSR_RX_CONFIG_REG_VAL_RB_SIZE_4K| + (IWM_RX_RB_TIMEOUT << IWM_FH_RCSR_RX_CONFIG_REG_IRQ_RBTH_POS) | IWM_RX_QUEUE_SIZE_LOG << IWM_FH_RCSR_RX_CONFIG_RBDCB_SIZE_POS); IWM_WRITE_1(sc, IWM_CSR_INT_COALESCING, IWM_HOST_INT_TIMEOUT_DEF); @@ -3126,13 +3136,11 @@ iwm_mvm_get_signal_strength(struct iwm_s } static void -iwm_mvm_rx_rx_phy_cmd(struct iwm_softc *sc, - struct iwm_rx_packet *pkt, struct iwm_rx_data *data) +iwm_mvm_rx_rx_phy_cmd(struct iwm_softc *sc, struct iwm_rx_packet *pkt) { struct iwm_rx_phy_info *phy_info = (void *)pkt->data; IWM_DPRINTF(sc, IWM_DEBUG_RECV, "received PHY stats\n"); - bus_dmamap_sync(sc->rxq.data_dmat, data->map, B
svn commit: r318217 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:30:01 2017 New Revision: 318217 URL: https://svnweb.freebsd.org/changeset/base/318217 Log: [iwm] Change UCODE_TLV_API #define-s from bitmasks to indexes. * Fixes oversight from commit 757eecf0e6c92745aa2eee95811e573c8300850e. fw_has_api now uses the isset macro instead of a simple logical-and. Obtained from:dragonflybsd.git c00575de8491dc402abf52c8c7e1cca1ef79e257 Modified: head/sys/dev/iwm/if_iwmreg.h Modified: head/sys/dev/iwm/if_iwmreg.h == --- head/sys/dev/iwm/if_iwmreg.hFri May 12 05:28:49 2017 (r318216) +++ head/sys/dev/iwm/if_iwmreg.hFri May 12 05:30:01 2017 (r318217) @@ -669,12 +669,12 @@ P2P_PS_SCM\31UAPSD_SUPPORT\32EBS\33P2P_P * @IWM_NUM_UCODE_TLV_API: number of bits used */ enum iwm_ucode_tlv_api { - IWM_UCODE_TLV_API_FRAGMENTED_SCAN = (1 << 8), - IWM_UCODE_TLV_API_WIFI_MCC_UPDATE = (1 << 9), - IWM_UCODE_TLV_API_WIDE_CMD_HDR = (1 << 14), - IWM_UCODE_TLV_API_LQ_SS_PARAMS = (1 << 18), - IWM_UCODE_TLV_API_EXT_SCAN_PRIORITY = (1 << 24), - IWM_UCODE_TLV_API_TX_POWER_CHAIN= (1 << 27), + IWM_UCODE_TLV_API_FRAGMENTED_SCAN = 8, + IWM_UCODE_TLV_API_WIFI_MCC_UPDATE = 9, + IWM_UCODE_TLV_API_WIDE_CMD_HDR = 14, + IWM_UCODE_TLV_API_LQ_SS_PARAMS = 18, + IWM_UCODE_TLV_API_EXT_SCAN_PRIORITY = 24, + IWM_UCODE_TLV_API_TX_POWER_CHAIN= 27, IWM_NUM_UCODE_TLV_API = 32 }; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318216 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:28:49 2017 New Revision: 318216 URL: https://svnweb.freebsd.org/changeset/base/318216 Log: [iwm] Sync iwm_read_firmware()'s loop to iwlwifi's code. Obtained from:dragonflybsd.git d1c10ccfcf2d6d2a664f17197add0b4f9181 Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:22:29 2017(r318215) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:28:49 2017(r318216) @@ -549,12 +549,14 @@ iwm_read_firmware(struct iwm_softc *sc, { struct iwm_fw_info *fw = &sc->sc_fw; const struct iwm_tlv_ucode_header *uhdr; - struct iwm_ucode_tlv tlv; + const struct iwm_ucode_tlv *tlv; struct iwm_ucode_capabilities *capa = &sc->ucode_capa; enum iwm_ucode_tlv_type tlv_type; const struct firmware *fwp; const uint8_t *data; + uint32_t tlv_len; uint32_t usniffer_img; + const uint8_t *tlv_data; uint32_t paging_mem_size; int num_of_cpus; int error = 0; @@ -607,24 +609,20 @@ iwm_read_firmware(struct iwm_softc *sc, goto out; } - snprintf(sc->sc_fwver, sizeof(sc->sc_fwver), "%d.%d (API ver %d)", + snprintf(sc->sc_fwver, sizeof(sc->sc_fwver), "%u.%u (API ver %u)", IWM_UCODE_MAJOR(le32toh(uhdr->ver)), IWM_UCODE_MINOR(le32toh(uhdr->ver)), IWM_UCODE_API(le32toh(uhdr->ver))); data = uhdr->data; len = fw->fw_fp->datasize - sizeof(*uhdr); - while (len >= sizeof(tlv)) { - size_t tlv_len; - const void *tlv_data; - - memcpy(&tlv, data, sizeof(tlv)); - tlv_len = le32toh(tlv.length); - tlv_type = le32toh(tlv.type); - - len -= sizeof(tlv); - data += sizeof(tlv); - tlv_data = data; + while (len >= sizeof(*tlv)) { + len -= sizeof(*tlv); + tlv = (const void *)data; + + tlv_len = le32toh(tlv->length); + tlv_type = le32toh(tlv->type); + tlv_data = tlv->data; if (len < tlv_len) { device_printf(sc->sc_dev, @@ -633,19 +631,21 @@ iwm_read_firmware(struct iwm_softc *sc, error = EINVAL; goto parse_out; } + len -= roundup2(tlv_len, 4); + data += sizeof(tlv) + roundup2(tlv_len, 4); switch ((int)tlv_type) { case IWM_UCODE_TLV_PROBE_MAX_LEN: - if (tlv_len < sizeof(uint32_t)) { + if (tlv_len != sizeof(uint32_t)) { device_printf(sc->sc_dev, - "%s: PROBE_MAX_LEN (%d) < sizeof(uint32_t)\n", + "%s: PROBE_MAX_LEN (%d) != sizeof(uint32_t)\n", __func__, (int) tlv_len); error = EINVAL; goto parse_out; } capa->max_probe_length = - le32toh(*(const uint32_t *)tlv_data); + le32_to_cpup((const uint32_t *)tlv_data); /* limit it to something sensible */ if (capa->max_probe_length > IWM_SCAN_OFFLOAD_PROBE_REQ_SIZE) { @@ -676,6 +676,14 @@ iwm_read_firmware(struct iwm_softc *sc, error = EINVAL; goto parse_out; } + if (tlv_len % sizeof(uint32_t)) { + device_printf(sc->sc_dev, + "%s: IWM_UCODE_TLV_FLAGS: tlv_len (%d) %% sizeof(uint32_t)\n", + __func__, + (int) tlv_len); + error = EINVAL; + goto parse_out; + } /* * Apparently there can be many flags, but Linux driver * parses only the first one, and so do we. @@ -687,7 +695,7 @@ iwm_read_firmware(struct iwm_softc *sc, * 2) TLV_FLAGS contains TLV_FLAGS_PAN * ==> this resets TLV_PAN to itself... hnnnk */ - capa->flags = le32toh(*(const uint32_t *)tlv_data); + capa->flags = le32_to_cpup((const uint32_t *)tlv_data); break; case IWM_UCODE_TLV_CSCHEME: if ((error = iwm_store_cscheme(sc, @@ -708,7 +716,7 @@ iwm_read_firmware(struct iwm_softc *sc,
svn commit: r318215 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:22:29 2017 New Revision: 318215 URL: https://svnweb.freebsd.org/changeset/base/318215 Log: [iwm] change the check for ADD_STA status, use IWM_ADD_STA_STATUS_MASK. Obtained from:dragonflybsd.git 74d41163ddac72b0d7ea7b7873d53fe134723a12 Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:21:50 2017(r318214) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:22:29 2017(r318215) @@ -3925,7 +3925,7 @@ iwm_mvm_sta_send_to_fw(struct iwm_softc if (ret) return ret; - switch (status) { + switch (status & IWM_ADD_STA_STATUS_MASK) { case IWM_ADD_STA_SUCCESS: break; default: @@ -3971,7 +3971,7 @@ iwm_mvm_add_int_sta_common(struct iwm_so if (ret) return ret; - switch (status) { + switch (status & IWM_ADD_STA_STATUS_MASK) { case IWM_ADD_STA_SUCCESS: IWM_DPRINTF(sc, IWM_DEBUG_RESET, "%s: Internal station added.\n", __func__); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318214 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:21:50 2017 New Revision: 318214 URL: https://svnweb.freebsd.org/changeset/base/318214 Log: [iwm] Sanity check channel for IEEE80211_CHAN_ANYC in if_iwm_mac_ctxt.c. * This avoids panicing in some broken vap state handling cases. Obtained from:dragonflybsd.git 10d5b77b5421e7cbcc426160edbe858d1d610a29 Modified: head/sys/dev/iwm/if_iwm_mac_ctxt.c Modified: head/sys/dev/iwm/if_iwm_mac_ctxt.c == --- head/sys/dev/iwm/if_iwm_mac_ctxt.c Fri May 12 05:21:02 2017 (r318213) +++ head/sys/dev/iwm/if_iwm_mac_ctxt.c Fri May 12 05:21:50 2017 (r318214) @@ -308,7 +308,7 @@ iwm_mvm_mac_ctxt_cmd_common(struct iwm_s /* * Default to 2ghz if no node information is given. */ - if (in) { + if (in && in->in_ni.ni_chan != IEEE80211_CHAN_ANYC) { is2ghz = !! IEEE80211_IS_CHAN_2GHZ(in->in_ni.ni_chan); } else { is2ghz = 1; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318213 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:21:02 2017 New Revision: 318213 URL: https://svnweb.freebsd.org/changeset/base/318213 Log: [if_iwm] Get rid of another usage of the IWM_DEFAULT_MACID/_COLOR constant. Obtained from:dragonflybsd.git c009badecf7b1389cd86adde9fd35f6113c75b5b Modified: head/sys/dev/iwm/if_iwm.c Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:19:08 2017(r318212) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:21:02 2017(r318213) @@ -3895,6 +3895,7 @@ iwm_mvm_send_add_sta_cmd_status(struct i static int iwm_mvm_sta_send_to_fw(struct iwm_softc *sc, struct iwm_node *in, int update) { + struct iwm_vap *ivp = IWM_VAP(in->in_ni.ni_vap); struct iwm_mvm_add_sta_cmd add_sta_cmd; int ret; uint32_t status; @@ -3903,8 +3904,7 @@ iwm_mvm_sta_send_to_fw(struct iwm_softc add_sta_cmd.sta_id = IWM_STATION_ID; add_sta_cmd.mac_id_n_color - = htole32(IWM_FW_CMD_ID_AND_COLOR(IWM_DEFAULT_MACID, - IWM_DEFAULT_COLOR)); + = htole32(IWM_FW_CMD_ID_AND_COLOR(ivp->id, ivp->color)); if (!update) { int ac; for (ac = 0; ac < WME_NUM_AC; ac++) { ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318212 - head/sys/dev/iwm
Author: adrian Date: Fri May 12 05:19:08 2017 New Revision: 318212 URL: https://svnweb.freebsd.org/changeset/base/318212 Log: [if_iwm] Partly sync if_iwm_binding.c to Linux iwlwifi code. * Store macid and color values in struct iwm_vap, to avoid hardcoded constants a bit. * Add iwm_mvm_binding_remove_vif() function (will be used in disconnecting from an access point without resetting the whole device). * Not adding code from Linux iwlwifi yet, to handle one PHY context to be bound to several VAPs/virtual-interfaces, it's definitely not needed in the near future. Obtained from:dragonflybsd.git f16ef74977e51e1bfc7a625dd18b98b02158e0e5 Modified: head/sys/dev/iwm/if_iwm.c head/sys/dev/iwm/if_iwm_binding.c head/sys/dev/iwm/if_iwm_binding.h head/sys/dev/iwm/if_iwm_mac_ctxt.c head/sys/dev/iwm/if_iwm_power.c head/sys/dev/iwm/if_iwm_time_event.c head/sys/dev/iwm/if_iwm_time_event.h head/sys/dev/iwm/if_iwmvar.h Modified: head/sys/dev/iwm/if_iwm.c == --- head/sys/dev/iwm/if_iwm.c Fri May 12 05:17:49 2017(r318211) +++ head/sys/dev/iwm/if_iwm.c Fri May 12 05:19:08 2017(r318212) @@ -4156,7 +4156,7 @@ iwm_auth(struct ieee80211vap *vap, struc } iv->phy_ctxt = &sc->sc_phyctxt[0]; - if ((error = iwm_mvm_binding_update(sc, iv)) != 0) { + if ((error = iwm_mvm_binding_add_vif(sc, iv)) != 0) { device_printf(sc->sc_dev, "%s: binding update cmd\n", __func__); goto out; @@ -4205,7 +4205,7 @@ iwm_auth(struct ieee80211vap *vap, struc */ /* XXX duration is in units of TU, not MS */ duration = IWM_MVM_TE_SESSION_PROTECTION_MAX_TIME_MS; - iwm_mvm_protect_session(sc, in, duration, 500 /* XXX magic number */); + iwm_mvm_protect_session(sc, iv, duration, 500 /* XXX magic number */); DELAY(100); error = 0; @@ -4250,7 +4250,7 @@ iwm_release(struct iwm_softc *sc, struct * iwm_mvm_rm_sta(sc, in); * iwm_mvm_update_quotas(sc, NULL); * iwm_mvm_mac_ctxt_changed(sc, in); -* iwm_mvm_binding_remove_vif(sc, in); +* iwm_mvm_binding_remove_vif(sc, IWM_VAP(in->in_ni.ni_vap)); * iwm_mvm_mac_ctxt_remove(sc, in); * * However, that freezes the device not matter which permutations @@ -4299,7 +4299,7 @@ iwm_release(struct iwm_softc *sc, struct device_printf(sc->sc_dev, "mac ctxt change fail 2 %d\n", error); return error; } - iwm_mvm_binding_remove_vif(sc, in); + iwm_mvm_binding_remove_vif(sc, IWM_VAP(in->in_ni.ni_vap)); iwm_mvm_mac_ctxt_remove(sc, in); @@ -6303,6 +6303,9 @@ iwm_vap_create(struct ieee80211com *ic, ivp->iv_newstate = vap->iv_newstate; vap->iv_newstate = iwm_newstate; + ivp->id = IWM_DEFAULT_MACID; + ivp->color = IWM_DEFAULT_COLOR; + ieee80211_ratectl_init(vap); /* Complete setup. */ ieee80211_vap_attach(vap, iwm_media_change, ieee80211_media_status, Modified: head/sys/dev/iwm/if_iwm_binding.c == --- head/sys/dev/iwm/if_iwm_binding.c Fri May 12 05:17:49 2017 (r318211) +++ head/sys/dev/iwm/if_iwm_binding.c Fri May 12 05:19:08 2017 (r318212) @@ -31,7 +31,7 @@ * * GPL LICENSE SUMMARY * - * Copyright(c) 2007 - 2013 Intel Corporation. All rights reserved. + * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of version 2 of the GNU General Public License as @@ -51,13 +51,12 @@ * in the file called COPYING. * * Contact Information: - * Intel Linux Wireless + * Intel Linux Wireless * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 * - * * BSD LICENSE * - * Copyright(c) 2005 - 2013 Intel Corporation. All rights reserved. + * Copyright(c) 2012 - 2014 Intel Corporation. All rights reserved. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -87,21 +86,6 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/*- - * Copyright (c) 2007-2010 Damien Bergamini - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER
svn commit: r318211 - head/contrib/netbsd-tests/lib/libc/ssp
Author: ngie Date: Fri May 12 05:17:49 2017 New Revision: 318211 URL: https://svnweb.freebsd.org/changeset/base/318211 Log: Fix up previous commit - Apply the logic to the FreeBSD block - Fix a typo with the getconf(1) call that I would have caught, were it not for the fact that I got the blocks wrong. - Consolidate the hardcoded buffer sizes to the NetBSD block. This would have been discovered had I run the test on a system where PATH_MAX != 1024 (I don't have that at my disposal right at this moment). MFC after:3 weeks MFC with: r318210 Sponsored by: Dell EMC Isilon Modified: head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Modified: head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh == --- head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Fri May 12 05:06:48 2017(r318210) +++ head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Fri May 12 05:17:49 2017(r318211) @@ -386,14 +386,15 @@ read_body() { prog="$(atf_get_srcdir)/h_read" - h_pass "$prog 1024" "echo foo |" # Begin FreeBSD if true; then - h_fail "$prog 1027" "echo bar |" + MAX_PATH=$(getconf _XOPEN_PATH_MAX) || atf_fail "getconf failed" + h_pass "$prog $MAX_PATH" "echo foo |" + h_fail "$prog $(( $MAX_PATH + 3 ))" "echo bar |" else # End FreeBSD - MAX_PATH=$(getconf _XOPEN_MAX_PATH) || atf_fail "getconf failed" - h_fail "$prog $(( $MAX_PATH + 1))" "echo bar |" + h_pass "$prog 1024" "echo foo |" + h_fail "$prog 1025" "echo bar |" # Begin FreeBSD fi # End FreeBSD ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318210 - head/contrib/netbsd-tests/lib/libc/ssp
Author: ngie Date: Fri May 12 05:06:48 2017 New Revision: 318210 URL: https://svnweb.freebsd.org/changeset/base/318210 Log: ssp_test:read:: query the value of MAXPATHLEN via getconf(1) In the event the value of PATH_MAX was changed, the assumption that MAXPATHLEN is 1024 (and hence the buffer length required to trigger SSP to fail for read(2)) would be invalidated. Query getconf(1) for the actual value of MAXPATHLEN via _XOPEN_PATH_MAX instead, and increment the value by 1 to ensure that the SSP support tests the stack smashing support properly. MFC after:3 weeks Sponsored by: Dell EMC Isilon Modified: head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Modified: head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh == --- head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Fri May 12 04:10:02 2017(r318209) +++ head/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Fri May 12 05:06:48 2017(r318210) @@ -392,7 +392,8 @@ read_body() h_fail "$prog 1027" "echo bar |" else # End FreeBSD - h_fail "$prog 1025" "echo bar |" + MAX_PATH=$(getconf _XOPEN_MAX_PATH) || atf_fail "getconf failed" + h_fail "$prog $(( $MAX_PATH + 1))" "echo bar |" # Begin FreeBSD fi # End FreeBSD ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318209 - head/sys/dev/dpaa
Author: jhibbits Date: Fri May 12 04:10:02 2017 New Revision: 318209 URL: https://svnweb.freebsd.org/changeset/base/318209 Log: Use UMA_ALIGN_PTR to specify pointer alignment Suggested by: jhb Modified: head/sys/dev/dpaa/if_dtsec_rm.c Modified: head/sys/dev/dpaa/if_dtsec_rm.c == --- head/sys/dev/dpaa/if_dtsec_rm.c Fri May 12 03:44:20 2017 (r318208) +++ head/sys/dev/dpaa/if_dtsec_rm.c Fri May 12 04:10:02 2017 (r318209) @@ -115,7 +115,7 @@ dtsec_rm_fi_pool_init(struct dtsec_softc sc->sc_fi_zone = uma_zcreate(sc->sc_fi_zname, sizeof(struct dtsec_rm_frame_info), NULL, NULL, NULL, NULL, - sizeof(void *) - 1, 0); + UMA_ALIGN_PTR, 0); if (sc->sc_fi_zone == NULL) return (EIO); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318208 - stable/10/sys/amd64/pci
Author: sephe Date: Fri May 12 03:44:20 2017 New Revision: 318208 URL: https://svnweb.freebsd.org/changeset/base/318208 Log: MFC 317786 pcicfg: Fix direct calls of pci_cfg{read,write} on systems w/o PCI host bridge. Reported by:dexuan@ Reviewed by:jhb@ Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10564 Modified: stable/10/sys/amd64/pci/pci_cfgreg.c Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/amd64/pci/pci_cfgreg.c == --- stable/10/sys/amd64/pci/pci_cfgreg.cFri May 12 03:06:45 2017 (r318207) +++ stable/10/sys/amd64/pci/pci_cfgreg.cFri May 12 03:44:20 2017 (r318208) @@ -64,6 +64,7 @@ static vm_offset_t pcie_base; static int pcie_minbus, pcie_maxbus; static uint32_t pcie_badslots; static struct mtx pcicfg_mtx; +MTX_SYSINIT(pcicfg_mtx, &pcicfg_mtx, "pcicfg_mtx", MTX_SPIN); static int mcfg_enable = 1; TUNABLE_INT("hw.pci.mcfg", &mcfg_enable); SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLFLAG_RDTUN, &mcfg_enable, 0, @@ -75,15 +76,9 @@ SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLF int pci_cfgregopen(void) { - static int once = 0; uint64_t pciebar; uint16_t did, vid; - if (!once) { - mtx_init(&pcicfg_mtx, "pcicfg", NULL, MTX_SPIN); - once = 1; - } - if (cfgmech != CFGMECH_NONE) return (1); cfgmech = CFGMECH_1; @@ -139,6 +134,9 @@ pci_cfgregread(int bus, int slot, int fu { uint32_t line; + if (cfgmech == CFGMECH_NONE) + return (0x); + /* * Some BIOS writers seem to want to ignore the spec and put * 0 in the intline rather than 255 to indicate none. Some use @@ -163,6 +161,9 @@ void pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes) { + if (cfgmech == CFGMECH_NONE) + return; + if (cfgmech == CFGMECH_PCIE && (bus >= pcie_minbus && bus <= pcie_maxbus) && (bus != 0 || !(1 << slot & pcie_badslots))) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318207 - stable/11/sys/amd64/pci
Author: sephe Date: Fri May 12 03:06:45 2017 New Revision: 318207 URL: https://svnweb.freebsd.org/changeset/base/318207 Log: MFC 317786 pcicfg: Fix direct calls of pci_cfg{read,write} on systems w/o PCI host bridge. Reported by:dexuan@ Reviewed by:jhb@ Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D10564 Modified: stable/11/sys/amd64/pci/pci_cfgreg.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/amd64/pci/pci_cfgreg.c == --- stable/11/sys/amd64/pci/pci_cfgreg.cFri May 12 02:32:01 2017 (r318206) +++ stable/11/sys/amd64/pci/pci_cfgreg.cFri May 12 03:06:45 2017 (r318207) @@ -64,6 +64,7 @@ static vm_offset_t pcie_base; static int pcie_minbus, pcie_maxbus; static uint32_t pcie_badslots; static struct mtx pcicfg_mtx; +MTX_SYSINIT(pcicfg_mtx, &pcicfg_mtx, "pcicfg_mtx", MTX_SPIN); static int mcfg_enable = 1; SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLFLAG_RDTUN, &mcfg_enable, 0, "Enable support for PCI-e memory mapped config access"); @@ -74,15 +75,9 @@ SYSCTL_INT(_hw_pci, OID_AUTO, mcfg, CTLF int pci_cfgregopen(void) { - static int once = 0; uint64_t pciebar; uint16_t did, vid; - if (!once) { - mtx_init(&pcicfg_mtx, "pcicfg", NULL, MTX_SPIN); - once = 1; - } - if (cfgmech != CFGMECH_NONE) return (1); cfgmech = CFGMECH_1; @@ -138,6 +133,9 @@ pci_cfgregread(int bus, int slot, int fu { uint32_t line; + if (cfgmech == CFGMECH_NONE) + return (0x); + /* * Some BIOS writers seem to want to ignore the spec and put * 0 in the intline rather than 255 to indicate none. Some use @@ -162,6 +160,9 @@ void pci_cfgregwrite(int bus, int slot, int func, int reg, u_int32_t data, int bytes) { + if (cfgmech == CFGMECH_NONE) + return; + if (cfgmech == CFGMECH_PCIE && (bus >= pcie_minbus && bus <= pcie_maxbus) && (bus != 0 || !(1 << slot & pcie_badslots))) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318206 - in stable: 10/contrib/ipfilter/tools 11/contrib/ipfilter/tools
Author: cy Date: Fri May 12 02:32:01 2017 New Revision: 318206 URL: https://svnweb.freebsd.org/changeset/base/318206 Log: MFC 317830: Ifdef out a redundant if statement when INET6 is disabled. Modified: stable/10/contrib/ipfilter/tools/ippool.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/contrib/ipfilter/tools/ippool.c Directory Properties: stable/11/ (props changed) Modified: stable/10/contrib/ipfilter/tools/ippool.c == --- stable/10/contrib/ipfilter/tools/ippool.c Fri May 12 02:26:39 2017 (r318205) +++ stable/10/contrib/ipfilter/tools/ippool.c Fri May 12 02:32:01 2017 (r318206) @@ -1050,7 +1050,9 @@ setnodeaddr(int type, int role, void *pt if (type == IPLT_POOL) { ip_pool_node_t *node = ptr; +#ifdef USE_INET6 if (node->ipn_addr.adf_family == AF_INET) +#endif node->ipn_addr.adf_len = offsetof(addrfamily_t, adf_addr) + sizeof(struct in_addr); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318206 - in stable: 10/contrib/ipfilter/tools 11/contrib/ipfilter/tools
Author: cy Date: Fri May 12 02:32:01 2017 New Revision: 318206 URL: https://svnweb.freebsd.org/changeset/base/318206 Log: MFC 317830: Ifdef out a redundant if statement when INET6 is disabled. Modified: stable/11/contrib/ipfilter/tools/ippool.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/ipfilter/tools/ippool.c Directory Properties: stable/10/ (props changed) Modified: stable/11/contrib/ipfilter/tools/ippool.c == --- stable/11/contrib/ipfilter/tools/ippool.c Fri May 12 02:26:39 2017 (r318205) +++ stable/11/contrib/ipfilter/tools/ippool.c Fri May 12 02:32:01 2017 (r318206) @@ -1047,7 +1047,9 @@ setnodeaddr(int type, int role, void *pt if (type == IPLT_POOL) { ip_pool_node_t *node = ptr; +#ifdef USE_INET6 if (node->ipn_addr.adf_family == AF_INET) +#endif node->ipn_addr.adf_len = offsetof(addrfamily_t, adf_addr) + sizeof(struct in_addr); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318205 - in stable: 10/contrib/ipfilter/tools 11/contrib/ipfilter/tools
Author: cy Date: Fri May 12 02:26:39 2017 New Revision: 318205 URL: https://svnweb.freebsd.org/changeset/base/318205 Log: Revert r318203: Neglected to put "MFC 318203:" in the log. Pointy hat to:cy Modified: stable/10/contrib/ipfilter/tools/ippool.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/contrib/ipfilter/tools/ippool.c Directory Properties: stable/11/ (props changed) Modified: stable/10/contrib/ipfilter/tools/ippool.c == --- stable/10/contrib/ipfilter/tools/ippool.c Fri May 12 02:12:38 2017 (r318204) +++ stable/10/contrib/ipfilter/tools/ippool.c Fri May 12 02:26:39 2017 (r318205) @@ -1050,9 +1050,7 @@ setnodeaddr(int type, int role, void *pt if (type == IPLT_POOL) { ip_pool_node_t *node = ptr; -#ifdef USE_INET6 if (node->ipn_addr.adf_family == AF_INET) -#endif node->ipn_addr.adf_len = offsetof(addrfamily_t, adf_addr) + sizeof(struct in_addr); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318205 - in stable: 10/contrib/ipfilter/tools 11/contrib/ipfilter/tools
Author: cy Date: Fri May 12 02:26:39 2017 New Revision: 318205 URL: https://svnweb.freebsd.org/changeset/base/318205 Log: Revert r318203: Neglected to put "MFC 318203:" in the log. Pointy hat to:cy Modified: stable/11/contrib/ipfilter/tools/ippool.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/ipfilter/tools/ippool.c Directory Properties: stable/10/ (props changed) Modified: stable/11/contrib/ipfilter/tools/ippool.c == --- stable/11/contrib/ipfilter/tools/ippool.c Fri May 12 02:12:38 2017 (r318204) +++ stable/11/contrib/ipfilter/tools/ippool.c Fri May 12 02:26:39 2017 (r318205) @@ -1047,9 +1047,7 @@ setnodeaddr(int type, int role, void *pt if (type == IPLT_POOL) { ip_pool_node_t *node = ptr; -#ifdef USE_INET6 if (node->ipn_addr.adf_family == AF_INET) -#endif node->ipn_addr.adf_len = offsetof(addrfamily_t, adf_addr) + sizeof(struct in_addr); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318204 - stable/11/share/man/man4
Author: gjb Date: Fri May 12 02:12:38 2017 New Revision: 318204 URL: https://svnweb.freebsd.org/changeset/base/318204 Log: MFC r318109: Correct "first appeared in" entries for various drivers that exist in stable/11. Sponsored by: The FreeBSD Foundation Modified: stable/11/share/man/man4/bnxt.4 stable/11/share/man/man4/bytgpio.4 stable/11/share/man/man4/cxgbev.4 stable/11/share/man/man4/jedec_ts.4 stable/11/share/man/man4/qlnxe.4 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/bnxt.4 == --- stable/11/share/man/man4/bnxt.4 Fri May 12 02:12:03 2017 (r318203) +++ stable/11/share/man/man4/bnxt.4 Fri May 12 02:12:38 2017 (r318204) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 12, 2016 +.Dd May 9, 2017 .Dt BNXT 4 .Os .Sh NAME @@ -212,7 +212,7 @@ As of this writing, the system must be r The .Nm device driver first appeared in -.Fx 12.0 . +.Fx 11.1 . .Sh AUTHORS The .Nm Modified: stable/11/share/man/man4/bytgpio.4 == --- stable/11/share/man/man4/bytgpio.4 Fri May 12 02:12:03 2017 (r318203) +++ stable/11/share/man/man4/bytgpio.4 Fri May 12 02:12:38 2017 (r318204) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 20, 2016 +.Dd May 9, 2017 .Dt BYTGPIO 4 .Os .Sh NAME @@ -49,7 +49,7 @@ on boards schematics: GPIO_S0_SCnn, GPIO The .Nm manual page first appeared in -.Fx 12.0 . +.Fx 11.1 . .Sh AUTHORS This driver and man page was written by .An Oleksandr Tymoshenko Aq Mt go...@freebsd.org . Modified: stable/11/share/man/man4/cxgbev.4 == --- stable/11/share/man/man4/cxgbev.4 Fri May 12 02:12:03 2017 (r318203) +++ stable/11/share/man/man4/cxgbev.4 Fri May 12 02:12:38 2017 (r318204) @@ -31,7 +31,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 22, 2016 +.Dd May 9, 2017 .Dt CXGBEV 4 .Os .Sh NAME @@ -312,7 +312,7 @@ The device driver first appeared in .Fx 11.1 and -.Fx 12.0 . +.Fx 11.1 . .Sh AUTHORS .An -nosplit The Modified: stable/11/share/man/man4/jedec_ts.4 == --- stable/11/share/man/man4/jedec_ts.4 Fri May 12 02:12:03 2017 (r318203) +++ stable/11/share/man/man4/jedec_ts.4 Fri May 12 02:12:38 2017 (r318204) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 13, 2016 +.Dd May 9, 2017 .Dt JEDEC_TS 4 .Os .Sh NAME @@ -121,7 +121,7 @@ dev.jedec_ts.1.temp: 40.7500C The .Nm driver first appeared in -.Fx 12.0 . +.Fx 11.1 . .Sh AUTHORS .An -nosplit The Modified: stable/11/share/man/man4/qlnxe.4 == --- stable/11/share/man/man4/qlnxe.4Fri May 12 02:12:03 2017 (r318203) +++ stable/11/share/man/man4/qlnxe.4Fri May 12 02:12:38 2017 (r318204) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 24, 2017 +.Dd May 9, 2017 .Dt QLNXE 4 .Os .Sh NAME @@ -80,7 +80,7 @@ or by E-mail at The .Nm device driver first appeared in -.Fx 12.0 . +.Fx 11.1 . .Sh AUTHORS .An -nosplit The ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318203 - in stable: 10/contrib/ipfilter/tools 11/contrib/ipfilter/tools
Author: cy Date: Fri May 12 02:12:03 2017 New Revision: 318203 URL: https://svnweb.freebsd.org/changeset/base/318203 Log: Ifdef out a redundant if statement when INET6 is disabled. Modified: stable/10/contrib/ipfilter/tools/ippool.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/contrib/ipfilter/tools/ippool.c Directory Properties: stable/11/ (props changed) Modified: stable/10/contrib/ipfilter/tools/ippool.c == --- stable/10/contrib/ipfilter/tools/ippool.c Fri May 12 01:09:24 2017 (r318202) +++ stable/10/contrib/ipfilter/tools/ippool.c Fri May 12 02:12:03 2017 (r318203) @@ -1050,7 +1050,9 @@ setnodeaddr(int type, int role, void *pt if (type == IPLT_POOL) { ip_pool_node_t *node = ptr; +#ifdef USE_INET6 if (node->ipn_addr.adf_family == AF_INET) +#endif node->ipn_addr.adf_len = offsetof(addrfamily_t, adf_addr) + sizeof(struct in_addr); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318203 - in stable: 10/contrib/ipfilter/tools 11/contrib/ipfilter/tools
Author: cy Date: Fri May 12 02:12:03 2017 New Revision: 318203 URL: https://svnweb.freebsd.org/changeset/base/318203 Log: Ifdef out a redundant if statement when INET6 is disabled. Modified: stable/11/contrib/ipfilter/tools/ippool.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/contrib/ipfilter/tools/ippool.c Directory Properties: stable/10/ (props changed) Modified: stable/11/contrib/ipfilter/tools/ippool.c == --- stable/11/contrib/ipfilter/tools/ippool.c Fri May 12 01:09:24 2017 (r318202) +++ stable/11/contrib/ipfilter/tools/ippool.c Fri May 12 02:12:03 2017 (r318203) @@ -1047,7 +1047,9 @@ setnodeaddr(int type, int role, void *pt if (type == IPLT_POOL) { ip_pool_node_t *node = ptr; +#ifdef USE_INET6 if (node->ipn_addr.adf_family == AF_INET) +#endif node->ipn_addr.adf_len = offsetof(addrfamily_t, adf_addr) + sizeof(struct in_addr); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318202 - head/contrib/ipfilter/lib
Author: cy Date: Fri May 12 01:09:24 2017 New Revision: 318202 URL: https://svnweb.freebsd.org/changeset/base/318202 Log: Add missing linefeed in debug output. Modified: head/contrib/ipfilter/lib/printpoolnode.c Modified: head/contrib/ipfilter/lib/printpoolnode.c == --- head/contrib/ipfilter/lib/printpoolnode.c Thu May 11 23:49:53 2017 (r318201) +++ head/contrib/ipfilter/lib/printpoolnode.c Fri May 12 01:09:24 2017 (r318202) @@ -52,7 +52,7 @@ printpoolnode(np, opts, fields) PRINTF("\tAddress: %s%s", np->ipn_info ? "! " : "", inet_ntoa(np->ipn_addr.adf_addr.in4)); } else { - PRINTF("\tAddress: family: %d", + PRINTF("\tAddress: family: %d\n", np->ipn_addr.adf_family); #ifdef AF_INET6 } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318201 - stable/11/release/doc/en_US.ISO8859-1/relnotes
Author: gjb Date: Thu May 11 23:49:53 2017 New Revision: 318201 URL: https://svnweb.freebsd.org/changeset/base/318201 Log: Clarify the syslogd(8) 'include' directive is specified in syslog.conf(5). Submitted by: jilles Sponsored by: The FreeBSD Foundation Modified: stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Modified: stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml == --- stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Thu May 11 21:13:06 2017(r318200) +++ stable/11/release/doc/en_US.ISO8859-1/relnotes/article.xml Thu May 11 23:49:53 2017(r318201) @@ -190,8 +190,8 @@ &man.syslogd.8; utility has been updated to add the include keyword which allows specifying a directory containing configuration files to be included in - addition to &man.syslogd.8;. The default &man.syslogd.8; has - been updated to include /etc/syslog.d and /usr/local/etc/syslog.d by default. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318199 - stable/11/sys/dev/sdhci
Author: marius Date: Thu May 11 21:13:01 2017 New Revision: 318199 URL: https://svnweb.freebsd.org/changeset/base/318199 Log: MFC: r315431 - Adds macros for the content of SDHCI_ADMA_ERR and SDHCI_HOST_CONTROL2 registers. - Add slot type capability bits. These bits should allow recognizing removable card slots, embedded cards and shared buses (shared bus supposedly is always comprised of non-removable cards). - Dump CAPABILITIES2, ADMA_ERR, HOST_CONTROL2 and ADMA_ADDRESS_LO registers in sdhci_dumpregs(). - The drive type support flags in the CAPABILITIES2 register are for drive types A,C,D, drive type B is the default setting (value 0) of the drive strength field in the SDHCI_HOST_CONTROL2 register. Obtained from:DragonFlyBSD (9e3c8f63, 455bd1b1) Modified: stable/11/sys/dev/sdhci/sdhci.c stable/11/sys/dev/sdhci/sdhci.h Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/dev/sdhci/sdhci.c == --- stable/11/sys/dev/sdhci/sdhci.c Thu May 11 21:01:02 2017 (r318198) +++ stable/11/sys/dev/sdhci/sdhci.c Thu May 11 21:13:01 2017 (r318199) @@ -157,10 +157,14 @@ sdhci_dumpregs(struct sdhci_slot *slot) RD1(slot, SDHCI_TIMEOUT_CONTROL), RD4(slot, SDHCI_INT_STATUS)); slot_printf(slot, "Int enab: 0x%08x | Sig enab: 0x%08x\n", RD4(slot, SDHCI_INT_ENABLE), RD4(slot, SDHCI_SIGNAL_ENABLE)); - slot_printf(slot, "AC12 err: 0x%08x | Slot int: 0x%08x\n", - RD2(slot, SDHCI_ACMD12_ERR), RD2(slot, SDHCI_SLOT_INT_STATUS)); - slot_printf(slot, "Caps: 0x%08x | Max curr: 0x%08x\n", - RD4(slot, SDHCI_CAPABILITIES), RD4(slot, SDHCI_MAX_CURRENT)); + slot_printf(slot, "AC12 err: 0x%08x | Host ctl2: 0x%08x\n", + RD2(slot, SDHCI_ACMD12_ERR), RD2(slot, SDHCI_HOST_CONTROL2)); + slot_printf(slot, "Caps: 0x%08x | Caps2:0x%08x\n", + RD4(slot, SDHCI_CAPABILITIES), RD4(slot, SDHCI_CAPABILITIES2)); + slot_printf(slot, "Max curr: 0x%08x | ADMA err: 0x%08x\n", + RD4(slot, SDHCI_MAX_CURRENT), RD1(slot, SDHCI_ADMA_ERR)); + slot_printf(slot, "ADMA addr: 0x%08x | Slot int: 0x%08x\n", + RD4(slot, SDHCI_ADMA_ADDRESS_LO), RD2(slot, SDHCI_SLOT_INT_STATUS)); slot_printf(slot, "===\n"); Modified: stable/11/sys/dev/sdhci/sdhci.h == --- stable/11/sys/dev/sdhci/sdhci.h Thu May 11 21:01:02 2017 (r318198) +++ stable/11/sys/dev/sdhci/sdhci.h Thu May 11 21:13:01 2017 (r318199) @@ -219,7 +219,24 @@ SDHCI_INT_DATA_END_BIT) #defineSDHCI_ACMD12_ERR0x3C + #defineSDHCI_HOST_CONTROL2 0x3E +#define SDHCI_CTRL2_PRESET_VALUE 0x8000 +#define SDHCI_CTRL2_ASYNC_INTR 0x4000 +#define SDHCI_CTRL2_SAMPLING_CLOCK 0x0080 +#define SDHCI_CTRL2_EXEC_TUNING0x0040 +#define SDHCI_CTRL2_DRIVER_TYPE_MASK 0x0030 +#define SDHCI_CTRL2_DRIVER_TYPE_B 0x +#define SDHCI_CTRL2_DRIVER_TYPE_A 0x0010 +#define SDHCI_CTRL2_DRIVER_TYPE_C 0x0020 +#define SDHCI_CTRL2_DRIVER_TYPE_D 0x0030 +#define SDHCI_CTRL2_S18_ENABLE 0x0008 +#define SDHCI_CTRL2_UHS_MASK 0x0007 +#define SDHCI_CTRL2_UHS_SDR12 0x +#define SDHCI_CTRL2_UHS_SDR25 0x0001 +#define SDHCI_CTRL2_UHS_SDR50 0x0002 +#define SDHCI_CTRL2_UHS_SDR104 0x0003 +#define SDHCI_CTRL2_UHS_DDR50 0x0004 #defineSDHCI_CAPABILITIES 0x40 #define SDHCI_TIMEOUT_CLK_MASK 0x003F @@ -240,14 +257,18 @@ #define SDHCI_CAN_VDD_180 0x0400 #define SDHCI_CAN_DO_64BIT 0x1000 #define SDHCI_CAN_ASYNC_INTR 0x2000 +#define SDHCI_SLOTTYPE_MASK0xC000 +#define SDHCI_SLOTTYPE_REMOVABLE 0x +#define SDHCI_SLOTTYPE_EMBEDDED0x4000 +#define SDHCI_SLOTTYPE_SHARED 0x8000 #defineSDHCI_CAPABILITIES2 0x44 #define SDHCI_CAN_SDR500x0001 #define SDHCI_CAN_SDR104 0x0002 #define SDHCI_CAN_DDR500x0004 #define SDHCI_CAN_DRIVE_TYPE_A 0x0010 -#define SDHCI_CAN_DRIVE_TYPE_B 0x0020 -#define SDHCI_CAN_DRIVE_TYPE_C 0x0040 +#define SDHCI_CAN_DRIVE_TYPE_C 0x0020 +#define SDHCI_CAN_DRIVE_TYPE_D 0x0040 #define SDHCI_RETUNE_CNT_MASK 0x0F00 #define SDHCI_RETUNE_CNT_SHIFT 8 #define SDHCI_TUNE_SDR50 0x2000 @@ -259,9 +280,17 @@ #defineSDHCI_MAX_CURRENT 0x48 #defineSDHCI_FORCE_AUTO_EVENT 0x50 #defineSDHCI_FORCE_INTR_EVENT 0x52 + #defineSDHCI_ADMA_ERR
svn commit: r318200 - stable/10/sys/dev/sdhci
Author: marius Date: Thu May 11 21:13:06 2017 New Revision: 318200 URL: https://svnweb.freebsd.org/changeset/base/318200 Log: MFC: r315431 - Adds macros for the content of SDHCI_ADMA_ERR and SDHCI_HOST_CONTROL2 registers. - Add slot type capability bits. These bits should allow recognizing removable card slots, embedded cards and shared buses (shared bus supposedly is always comprised of non-removable cards). - Dump CAPABILITIES2, ADMA_ERR, HOST_CONTROL2 and ADMA_ADDRESS_LO registers in sdhci_dumpregs(). - The drive type support flags in the CAPABILITIES2 register are for drive types A,C,D, drive type B is the default setting (value 0) of the drive strength field in the SDHCI_HOST_CONTROL2 register. Obtained from:DragonFlyBSD (9e3c8f63, 455bd1b1) Modified: stable/10/sys/dev/sdhci/sdhci.c stable/10/sys/dev/sdhci/sdhci.h Directory Properties: stable/10/ (props changed) Modified: stable/10/sys/dev/sdhci/sdhci.c == --- stable/10/sys/dev/sdhci/sdhci.c Thu May 11 21:13:01 2017 (r318199) +++ stable/10/sys/dev/sdhci/sdhci.c Thu May 11 21:13:06 2017 (r318200) @@ -158,10 +158,14 @@ sdhci_dumpregs(struct sdhci_slot *slot) RD1(slot, SDHCI_TIMEOUT_CONTROL), RD4(slot, SDHCI_INT_STATUS)); slot_printf(slot, "Int enab: 0x%08x | Sig enab: 0x%08x\n", RD4(slot, SDHCI_INT_ENABLE), RD4(slot, SDHCI_SIGNAL_ENABLE)); - slot_printf(slot, "AC12 err: 0x%08x | Slot int: 0x%08x\n", - RD2(slot, SDHCI_ACMD12_ERR), RD2(slot, SDHCI_SLOT_INT_STATUS)); - slot_printf(slot, "Caps: 0x%08x | Max curr: 0x%08x\n", - RD4(slot, SDHCI_CAPABILITIES), RD4(slot, SDHCI_MAX_CURRENT)); + slot_printf(slot, "AC12 err: 0x%08x | Host ctl2: 0x%08x\n", + RD2(slot, SDHCI_ACMD12_ERR), RD2(slot, SDHCI_HOST_CONTROL2)); + slot_printf(slot, "Caps: 0x%08x | Caps2:0x%08x\n", + RD4(slot, SDHCI_CAPABILITIES), RD4(slot, SDHCI_CAPABILITIES2)); + slot_printf(slot, "Max curr: 0x%08x | ADMA err: 0x%08x\n", + RD4(slot, SDHCI_MAX_CURRENT), RD1(slot, SDHCI_ADMA_ERR)); + slot_printf(slot, "ADMA addr: 0x%08x | Slot int: 0x%08x\n", + RD4(slot, SDHCI_ADMA_ADDRESS_LO), RD2(slot, SDHCI_SLOT_INT_STATUS)); slot_printf(slot, "===\n"); Modified: stable/10/sys/dev/sdhci/sdhci.h == --- stable/10/sys/dev/sdhci/sdhci.h Thu May 11 21:13:01 2017 (r318199) +++ stable/10/sys/dev/sdhci/sdhci.h Thu May 11 21:13:06 2017 (r318200) @@ -219,7 +219,24 @@ SDHCI_INT_DATA_END_BIT) #defineSDHCI_ACMD12_ERR0x3C + #defineSDHCI_HOST_CONTROL2 0x3E +#define SDHCI_CTRL2_PRESET_VALUE 0x8000 +#define SDHCI_CTRL2_ASYNC_INTR 0x4000 +#define SDHCI_CTRL2_SAMPLING_CLOCK 0x0080 +#define SDHCI_CTRL2_EXEC_TUNING0x0040 +#define SDHCI_CTRL2_DRIVER_TYPE_MASK 0x0030 +#define SDHCI_CTRL2_DRIVER_TYPE_B 0x +#define SDHCI_CTRL2_DRIVER_TYPE_A 0x0010 +#define SDHCI_CTRL2_DRIVER_TYPE_C 0x0020 +#define SDHCI_CTRL2_DRIVER_TYPE_D 0x0030 +#define SDHCI_CTRL2_S18_ENABLE 0x0008 +#define SDHCI_CTRL2_UHS_MASK 0x0007 +#define SDHCI_CTRL2_UHS_SDR12 0x +#define SDHCI_CTRL2_UHS_SDR25 0x0001 +#define SDHCI_CTRL2_UHS_SDR50 0x0002 +#define SDHCI_CTRL2_UHS_SDR104 0x0003 +#define SDHCI_CTRL2_UHS_DDR50 0x0004 #defineSDHCI_CAPABILITIES 0x40 #define SDHCI_TIMEOUT_CLK_MASK 0x003F @@ -240,14 +257,18 @@ #define SDHCI_CAN_VDD_180 0x0400 #define SDHCI_CAN_DO_64BIT 0x1000 #define SDHCI_CAN_ASYNC_INTR 0x2000 +#define SDHCI_SLOTTYPE_MASK0xC000 +#define SDHCI_SLOTTYPE_REMOVABLE 0x +#define SDHCI_SLOTTYPE_EMBEDDED0x4000 +#define SDHCI_SLOTTYPE_SHARED 0x8000 #defineSDHCI_CAPABILITIES2 0x44 #define SDHCI_CAN_SDR500x0001 #define SDHCI_CAN_SDR104 0x0002 #define SDHCI_CAN_DDR500x0004 #define SDHCI_CAN_DRIVE_TYPE_A 0x0010 -#define SDHCI_CAN_DRIVE_TYPE_B 0x0020 -#define SDHCI_CAN_DRIVE_TYPE_C 0x0040 +#define SDHCI_CAN_DRIVE_TYPE_C 0x0020 +#define SDHCI_CAN_DRIVE_TYPE_D 0x0040 #define SDHCI_RETUNE_CNT_MASK 0x0F00 #define SDHCI_RETUNE_CNT_SHIFT 8 #define SDHCI_TUNE_SDR50 0x2000 @@ -259,9 +280,17 @@ #defineSDHCI_MAX_CURRENT 0x48 #defineSDHCI_FORCE_AUTO_EVENT 0x50 #defineSDHCI_FORCE_INTR_EVENT 0x52 + #defineSDHCI_ADMA_ERR
svn commit: r318198 - in stable/10: . etc/mtree include sys/arm/at91 sys/arm/broadcom/bcm2835 sys/arm/freescale/imx sys/arm/lpc sys/arm/ti sys/conf sys/dev/mmc sys/dev/sdhci sys/modules sys/modules...
Author: marius Date: Thu May 11 21:01:02 2017 New Revision: 318198 URL: https://svnweb.freebsd.org/changeset/base/318198 Log: MFC: r292180 (partial), r297127 (partial), r311911, r311923, r312939, r313250, r313712, r314811 (partial), r314887 (partial), r315430, r317981, r315466 o Move the DRIVER_MODULE() statements that declare mmc(4) to be a child of the various bridge drivers out of dev/mmc.c and into the bridge drivers. o Add ACPI platform support for SDHCI driver. o Fix some overly long lines, whitespace and other bugs according to style(9) as well as spelling etc. in mmc(4), mmcsd(4) and sdhci(4). o In the mmc(4) bridges and sdhci(4) (bus) front-ends: - Remove redundant assignments of the default bus_generic_print_child device method, - use DEVMETHOD_END, - use NULL instead of 0 for pointers. o Trim/adjust includes. o Add and use a MMC_DECLARE_BRIDGE macro for declaring mmc(4) bridges as kernel drivers and their dependency onto mmc(4). o Add support for eMMC "partitions". Besides the user data area, i. e. the default partition, eMMC v4.41 and later devices can additionally provide up to: 1 enhanced user data area partition 2 boot partitions 1 RPMB (Replay Protected Memory Block) partition 4 general purpose partitions (optionally with a enhanced or extended attribute) Besides simply subdividing eMMC devices, some Intel NUCs having UEFI code in the boot partitions etc., another use case for the partition support is the activation of pseudo-SLC mode, which manufacturers of eMMC chips typically associate with the enhanced user data area and/ or the enhanced attribute of general purpose partitions. CAVEAT EMPTOR: Partitioning eMMC devices is a one-time operation. o Now that properly issuing CMD6 is crucial (so data isn't written to the wrong partition for example), make a step into the direction of correctly handling the timeout for these commands in the MMC layer. Also, do a SEND_STATUS when CMD6 is invoked with an R1B response as recommended by relevant specifications. o Add an IOCTL interface to mmcsd(4); this is sufficiently compatible with Linux so that the GNU mmc-utils can be ported to and used with FreeBSD (note that due to the remaining deficiencies outlined above SANITIZE operations issued by/with `mmc` currently most likely will fail). These latter have been added to ports as sysutils/mmc-utils. Among others, the `mmc` tool of mmc-utils allows for partitioning eMMC devices (tested working). o For devices following the eMMC specification v4.41 or later, year 0 is 2013 rather than 1997; so correct this for assembling the device ID string properly. o Let mmcsd.ko depend on mmc.ko. Additionally, bump MMC_VERSION as at least for some of the above a matching pair is required. Added: stable/10/sys/dev/mmc/mmc_ioctl.h - copied unchanged from r315430, head/sys/dev/mmc/mmc_ioctl.h stable/10/sys/dev/mmc/mmc_private.h - copied unchanged from r315430, head/sys/dev/mmc/mmc_private.h stable/10/sys/dev/mmc/mmc_subr.c - copied unchanged from r315430, head/sys/dev/mmc/mmc_subr.c stable/10/sys/dev/mmc/mmc_subr.h - copied unchanged from r315430, head/sys/dev/mmc/mmc_subr.h stable/10/sys/dev/sdhci/sdhci_acpi.c - copied, changed from r311911, head/sys/dev/sdhci/sdhci_acpi.c stable/10/sys/modules/sdhci_acpi/ - copied from r311911, head/sys/modules/sdhci_acpi/ Modified: stable/10/UPDATING stable/10/etc/mtree/BSD.include.dist stable/10/include/Makefile stable/10/sys/arm/at91/at91_mci.c stable/10/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c stable/10/sys/arm/freescale/imx/imx_sdhci.c stable/10/sys/arm/lpc/lpc_mmc.c stable/10/sys/arm/ti/ti_sdhci.c stable/10/sys/conf/files stable/10/sys/dev/mmc/bridge.h stable/10/sys/dev/mmc/mmc.c stable/10/sys/dev/mmc/mmcbr_if.m stable/10/sys/dev/mmc/mmcbrvar.h stable/10/sys/dev/mmc/mmcreg.h stable/10/sys/dev/mmc/mmcsd.c stable/10/sys/dev/mmc/mmcvar.h stable/10/sys/dev/sdhci/sdhci.c stable/10/sys/dev/sdhci/sdhci.h stable/10/sys/dev/sdhci/sdhci_fdt.c stable/10/sys/dev/sdhci/sdhci_if.m stable/10/sys/dev/sdhci/sdhci_pci.c stable/10/sys/modules/Makefile stable/10/sys/modules/mmc/Makefile stable/10/sys/modules/sdhci_acpi/Makefile stable/10/sys/powerpc/mpc85xx/fsl_sdhc.c stable/10/sys/sys/param.h Directory Properties: stable/10/ (props changed) Modified: stable/10/UPDATING == --- stable/10/UPDATING Thu May 11 20:55:11 2017(r318197) +++ stable/10/UPDATING Thu May 11 21:01:02 2017(r318198) @@ -16,6 +16,13 @@ from older versions of FreeBSD, try WITH stable/10, and then rebuild without this option. The bootstrap process from older version of current is a bit fragile. +201705
Re: svn commit: r318166 - head/sys/netinet
On Thu, May 11, 2017 at 12:55:14PM +0200, Fabian Keil wrote: F> > Author: glebius F> > Date: Wed May 10 23:32:31 2017 F> > New Revision: 318166 F> > URL: https://svnweb.freebsd.org/changeset/base/318166 F> > F> > Log: F> > There is no good reason for TCP reassembly zone to be UMA_ZONE_NOFREE. F> > F> > It has strong locking model, doesn't have any timers associated with F> > entries. The entries theirselves are referenced only from the tcpcb F> > zone, which itself is a normal zone, without the UMA_ZONE_NOFREE flag. F> F> A side effect of the UMA_ZONE_NOFREE flag is that allocations F> with M_NOWAIT (currently used tcp_reass()) are less likely to F> fail. F> F> Removing the UMA_ZONE_NOFREE in other TCP-related parts F> "recently" caused (still unfixed) regressions like: F> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209680 F> F> It would be great if there was a method to reserve a certain F> number of items for the zone without having to rely on F> UMA_ZONE_NOFREE but last time I checked there wasn't one. Using UMA_ZONE_NOFREE for that problems is definitely a workaround. The problems should be separated, there definitely is an ipfw problem and TCP stack one. It is very strange that for an already established connection we require allocating more memory from these zones. -- Totus tuus, Glebius. ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318197 - in stable/11: . etc/mtree include sys/arm/allwinner sys/arm/amlogic/aml8726 sys/arm/at91 sys/arm/broadcom/bcm2835 sys/arm/lpc sys/arm/nvidia sys/arm/ti sys/conf sys/dev/mmc sy...
Author: marius Date: Thu May 11 20:55:11 2017 New Revision: 318197 URL: https://svnweb.freebsd.org/changeset/base/318197 Log: MFC: r312939, r313250, r314811 (partial), r314887 (partial), r315760, r315845, 315430, r317981, r315466 o Fix some overly long lines, whitespace and other bugs according to style(9) as well as spelling etc. in mmc(4), mmcsd(4) and sdhci(4). o In the mmc(4) bridges and sdhci(4) (bus) front-ends: - Remove redundant assignments of the default bus_generic_print_child device method, - use DEVMETHOD_END, - use NULL instead of 0 for pointers. o Trim/adjust includes. o Add and use a MMC_DECLARE_BRIDGE macro for declaring mmc(4) bridges as kernel drivers and their dependency onto mmc(4). o Add support for eMMC "partitions". Besides the user data area, i. e. the default partition, eMMC v4.41 and later devices can additionally provide up to: 1 enhanced user data area partition 2 boot partitions 1 RPMB (Replay Protected Memory Block) partition 4 general purpose partitions (optionally with a enhanced or extended attribute) Besides simply subdividing eMMC devices, some Intel NUCs having UEFI code in the boot partitions etc., another use case for the partition support is the activation of pseudo-SLC mode, which manufacturers of eMMC chips typically associate with the enhanced user data area and/ or the enhanced attribute of general purpose partitions. CAVEAT EMPTOR: Partitioning eMMC devices is a one-time operation. o Now that properly issuing CMD6 is crucial (so data isn't written to the wrong partition for example), make a step into the direction of correctly handling the timeout for these commands in the MMC layer. Also, do a SEND_STATUS when CMD6 is invoked with an R1B response as recommended by relevant specifications. o Add an IOCTL interface to mmcsd(4); this is sufficiently compatible with Linux so that the GNU mmc-utils can be ported to and used with FreeBSD (note that due to the remaining deficiencies outlined above SANITIZE operations issued by/with `mmc` currently most likely will fail). These latter have been added to ports as sysutils/mmc-utils. Among others, the `mmc` tool of mmc-utils allows for partitioning eMMC devices (tested working). o For devices following the eMMC specification v4.41 or later, year 0 is 2013 rather than 1997; so correct this for assembling the device ID string properly. o Let mmcsd.ko depend on mmc.ko. Additionally, bump MMC_VERSION as at least for some of the above a matching pair is required. o In the ACPI front-end of sdhci(4) describe the Intel eMMC and SDXC controllers as such in order to match the PCI one. Additionally, in the entry for the 80860F14 SDXC controller remove the eMMC-only SDHCI_QUIRK_INTEL_POWER_UP_RESET. Added: stable/11/sys/dev/mmc/mmc_ioctl.h - copied unchanged from r315430, head/sys/dev/mmc/mmc_ioctl.h stable/11/sys/dev/mmc/mmc_private.h - copied unchanged from r315430, head/sys/dev/mmc/mmc_private.h stable/11/sys/dev/mmc/mmc_subr.c - copied unchanged from r315430, head/sys/dev/mmc/mmc_subr.c stable/11/sys/dev/mmc/mmc_subr.h - copied unchanged from r315430, head/sys/dev/mmc/mmc_subr.h Modified: stable/11/UPDATING stable/11/etc/mtree/BSD.include.dist stable/11/include/Makefile stable/11/sys/arm/allwinner/a10_mmc.c stable/11/sys/arm/amlogic/aml8726/aml8726_mmc.c stable/11/sys/arm/amlogic/aml8726/aml8726_sdxc-m8.c stable/11/sys/arm/at91/at91_mci.c stable/11/sys/arm/broadcom/bcm2835/bcm2835_sdhci.c stable/11/sys/arm/lpc/lpc_mmc.c stable/11/sys/arm/nvidia/tegra_sdhci.c stable/11/sys/arm/ti/ti_sdhci.c stable/11/sys/conf/files stable/11/sys/dev/mmc/bridge.h stable/11/sys/dev/mmc/host/dwmmc.c stable/11/sys/dev/mmc/mmc.c stable/11/sys/dev/mmc/mmcbr_if.m stable/11/sys/dev/mmc/mmcbrvar.h stable/11/sys/dev/mmc/mmcreg.h stable/11/sys/dev/mmc/mmcsd.c stable/11/sys/dev/mmc/mmcvar.h stable/11/sys/dev/sdhci/fsl_sdhci.c stable/11/sys/dev/sdhci/sdhci.c stable/11/sys/dev/sdhci/sdhci.h stable/11/sys/dev/sdhci/sdhci_acpi.c stable/11/sys/dev/sdhci/sdhci_fdt.c stable/11/sys/dev/sdhci/sdhci_if.m stable/11/sys/dev/sdhci/sdhci_pci.c stable/11/sys/modules/mmc/Makefile stable/11/sys/sys/param.h Directory Properties: stable/11/ (props changed) Modified: stable/11/UPDATING == --- stable/11/UPDATING Thu May 11 20:30:44 2017(r318196) +++ stable/11/UPDATING Thu May 11 20:55:11 2017(r318197) @@ -16,6 +16,13 @@ from older versions of FreeBSD, try WITH the tip of head, and then rebuild without this option. The bootstrap process from older version of current across the gcc/clang cutover is a bit fragile. +20170511: + The mmcsd.ko module now addition
svn commit: r318196 - stable/11/sys/tools/fdt
Author: gonzo Date: Thu May 11 20:30:44 2017 New Revision: 318196 URL: https://svnweb.freebsd.org/changeset/base/318196 Log: MFC r315031: [fdt] Make DTBs generated by make_dtb.sh overlay-ready Generate symbols node when compiling dts files so they can be modified during boot-time by applying overlays. Modified: stable/11/sys/tools/fdt/make_dtb.sh Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/tools/fdt/make_dtb.sh == --- stable/11/sys/tools/fdt/make_dtb.sh Thu May 11 20:01:20 2017 (r318195) +++ stable/11/sys/tools/fdt/make_dtb.sh Thu May 11 20:30:44 2017 (r318196) @@ -20,5 +20,5 @@ for d in ${dts}; do dtb=${dtb_path}/`basename $d .dts`.dtb echo "converting $d -> $dtb" cpp -P -x assembler-with-cpp -I $S/gnu/dts/include -I $S/boot/fdt/dts/${MACHINE} -I $S/gnu/dts/${MACHINE} -include $d /dev/null | - dtc -O dtb -o $dtb -b 0 -p 1024 -i $S/boot/fdt/dts/${MACHINE} -i $S/gnu/dts/${MACHINE} + dtc -@ -O dtb -o $dtb -b 0 -p 1024 -i $S/boot/fdt/dts/${MACHINE} -i $S/gnu/dts/${MACHINE} done ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318195 - stable/11
Author: mav Date: Thu May 11 20:01:20 2017 New Revision: 318195 URL: https://svnweb.freebsd.org/changeset/base/318195 Log: Record as merged revisions that were reverted in head: r307392, r308781, r310023, r310104. Modified: Directory Properties: stable/11/ (props changed) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318194 - head/share/mk
Author: sjg Date: Thu May 11 19:49:22 2017 New Revision: 318194 URL: https://svnweb.freebsd.org/changeset/base/318194 Log: Tell bmake (meta mode) to ignore changes to /usr/local/etc/libmap.d/* Differential Revision:D10685 Reviewed by: bdrewery Modified: head/share/mk/local.meta.sys.mk Modified: head/share/mk/local.meta.sys.mk == --- head/share/mk/local.meta.sys.mk Thu May 11 18:53:28 2017 (r318193) +++ head/share/mk/local.meta.sys.mk Thu May 11 19:49:22 2017 (r318194) @@ -283,3 +283,6 @@ META_MODE+= missing-meta=yes .if empty(META_MODE:Mnofilemon) META_MODE+=missing-filemon=yes .endif +# We do not want everything out-of-date just because +# some unrelated shared lib updated this. +.MAKE.META.IGNORE_PATHS+= /usr/local/etc/libmap.d ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318193 - head/sys/boot/efi/loader
Author: markj Date: Thu May 11 18:53:28 2017 New Revision: 318193 URL: https://svnweb.freebsd.org/changeset/base/318193 Log: Set the right variable when overriding the default console speed. MFC after:1 week Modified: head/sys/boot/efi/loader/main.c Modified: head/sys/boot/efi/loader/main.c == --- head/sys/boot/efi/loader/main.c Thu May 11 17:26:34 2017 (r318192) +++ head/sys/boot/efi/loader/main.c Thu May 11 18:53:28 2017 (r318193) @@ -391,7 +391,7 @@ main(int argc, CHAR16 *argv[]) } else { cpy16to8(&argv[i + 1][0], var, sizeof(var)); - setenv("comconsole_speedspeed", var, 1); + setenv("comconsole_speed", var, 1); } i++; break; ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r318171 - head/sys/dev/dpaa
On Thursday, May 11, 2017 03:47:58 AM Justin Hibbits wrote: > Author: jhibbits > Date: Thu May 11 03:47:58 2017 > New Revision: 318171 > URL: https://svnweb.freebsd.org/changeset/base/318171 > > Log: > Fix uma_zcreate() align argument, now that the constraint is asserted. > > The alignment argument is the mask of low bits to mask off when allocating > items in a zone, not the block-size alignment. The first one should probably be using UMA_ALIGN_PTR instead. However, I do wonder if we shouldn't fix the API. All of the other APIs in the kernel for memory allocation use the size for alignment (contigmalloc, kmem_*, bus_dma, etc.). We could support a transition for uma by doing something like this in the implementation: if (alignment == 0) zone->align = 0; else if (powerof2(alignment)) zone->align = alignment - 1; else { KASSERT(powerof2(alignment + 1), ...); printf("WARNING: UMA zone %s using old alignment\n"); zone->alignment = alignment; } Along with updating the UMA_ALIGN_* constants which should fix most of the zones in the tree to use the new strategy. In 13 we would turn the printf() into a panic() / KASSERT. -- John Baldwin ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r318164 - in stable: 10/sys/amd64/linux 10/sys/amd64/linux32 10/sys/compat/freebsd32 10/sys/compat/svr4 10/sys/i386/ibcs2 10/sys/i386/linux 10/sys/kern 10/sys/sys 11/sys/amd64/linux 11
On Wednesday, May 10, 2017 11:09:20 PM John Baldwin wrote: > Author: jhb > Date: Wed May 10 23:09:17 2017 > New Revision: 318164 > URL: https://svnweb.freebsd.org/changeset/base/318164 > > Log: > MFC 313564: > Drop the "created from" line from files generated by makesyscalls.sh. > > This information is less useful when the generated files are included in > source control along with the source. If needed it can be reconstructed > from the $FreeBSD$ tag in the generated file. Removing this information > from the generated output permits committing the generated files along > with the change to the system call master list without having inconsistent > metadata in the generated files. > > Regenerate the affected files along with the MFC. After this commit, I think we should include regenerated files when MFC'ing changes going forward so that stable/ branches are never in an inconsistent state. -- John Baldwin ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318192 - in stable: 10/sys/kern 10/sys/sys 10/usr.bin/gcore 11/sys/kern 11/sys/sys 11/usr.bin/gcore
Author: jhb Date: Thu May 11 17:26:34 2017 New Revision: 318192 URL: https://svnweb.freebsd.org/changeset/base/318192 Log: MFC 313407,313449: Copy ELF machine/flags from binaries to core dumps. 313407: Copy the e_machine and e_flags fields from the binary into an ELF core dump. In the kernel, cache the machine and flags fields from ELF header to use in the ELF header of a core dump. For gcore, the copy these fields over from the ELF header in the binary. This matters for platforms which encode ABI information in the flags field (such as o32 vs n32 on MIPS). 313449: Trim trailing whitespace (mostly introduced in r313407). Sponsored by: DARPA / AFRL Modified: stable/11/sys/kern/imgact_elf.c stable/11/sys/kern/kern_fork.c stable/11/sys/sys/proc.h stable/11/usr.bin/gcore/elfcore.c Directory Properties: stable/11/ (props changed) Changes in other areas also in this revision: Modified: stable/10/sys/kern/imgact_elf.c stable/10/sys/kern/kern_fork.c stable/10/sys/sys/proc.h stable/10/usr.bin/gcore/elfcore.c Directory Properties: stable/10/ (props changed) Modified: stable/11/sys/kern/imgact_elf.c == --- stable/11/sys/kern/imgact_elf.c Thu May 11 17:03:45 2017 (r318191) +++ stable/11/sys/kern/imgact_elf.c Thu May 11 17:26:34 2017 (r318192) @@ -1079,6 +1079,8 @@ __CONCAT(exec_, __elfN(imgact))(struct i imgp->interpreted = 0; imgp->reloc_base = addr; imgp->proc->p_osrel = osrel; + imgp->proc->p_elf_machine = hdr->e_machine; + imgp->proc->p_elf_flags = hdr->e_flags; ret: free(interp_buf, M_TEMP); @@ -1682,15 +1684,11 @@ __elfN(puthdr)(struct thread *td, void * ehdr->e_ident[EI_ABIVERSION] = 0; ehdr->e_ident[EI_PAD] = 0; ehdr->e_type = ET_CORE; -#if defined(COMPAT_FREEBSD32) && __ELF_WORD_SIZE == 32 - ehdr->e_machine = ELF_ARCH32; -#else - ehdr->e_machine = ELF_ARCH; -#endif + ehdr->e_machine = td->td_proc->p_elf_machine; ehdr->e_version = EV_CURRENT; ehdr->e_entry = 0; ehdr->e_phoff = sizeof(Elf_Ehdr); - ehdr->e_flags = 0; + ehdr->e_flags = td->td_proc->p_elf_flags; ehdr->e_ehsize = sizeof(Elf_Ehdr); ehdr->e_phentsize = sizeof(Elf_Phdr); ehdr->e_phnum = numsegs + 1; Modified: stable/11/sys/kern/kern_fork.c == --- stable/11/sys/kern/kern_fork.c Thu May 11 17:03:45 2017 (r318191) +++ stable/11/sys/kern/kern_fork.c Thu May 11 17:26:34 2017 (r318192) @@ -408,6 +408,8 @@ do_fork(struct thread *td, struct fork_r bcopy(&p1->p_startcopy, &p2->p_startcopy, __rangeof(struct proc, p_startcopy, p_endcopy)); + p2->p_elf_machine = p1->p_elf_machine; + p2->p_elf_flags = p1->p_elf_flags; pargs_hold(p2->p_args); PROC_UNLOCK(p1); Modified: stable/11/sys/sys/proc.h == --- stable/11/sys/sys/proc.hThu May 11 17:03:45 2017(r318191) +++ stable/11/sys/sys/proc.hThu May 11 17:26:34 2017(r318192) @@ -316,7 +316,7 @@ struct thread { } td_state; /* (t) thread state */ union { register_t tdu_retval[2]; - off_t tdu_off; + off_t tdu_off; } td_uretoff; /* (k) Syscall aux returns. */ #define td_retval td_uretoff.tdu_retval u_int td_cowgen; /* (k) Generation of COW pointers. */ @@ -626,8 +626,10 @@ struct proc { our subtree. */ u_int p_xexit;/* (c) Exit code. */ u_int p_xsig; /* (c) Stop/kill sig. */ + /* End area that is copied on creation. */ -#definep_endcopy p_xsig +#definep_endcopy p_pgrp + struct pgrp *p_pgrp;/* (c + e) Pointer to process group. */ struct knlist *p_klist; /* (c) Knotes attached to this proc. */ int p_numthreads; /* (c) Number of threads. */ @@ -657,6 +659,8 @@ struct proc { LIST_ENTRY(proc) p_orphan; /* (e) List of orphan processes. */ LIST_HEAD(, proc) p_orphans;/* (e) Pointer to list of orphans. */ u_int p_ptevents; /* (c) ptrace() event mask. */ + uint16_tp_elf_machine; /* (x) ELF machine type */ + uint64_tp_elf_flags;/* (x) ELF flags */ }; #definep_session p_pgrp->pg_session Modified: stable/11/usr.bin/gcore/elfcore.c == --- stable/11/usr.bin/gcore/elfcore.c Thu May 11 17:03:45 2017 (r318191) +++ stable/11/usr.bin/gcore/elfcore.c Thu
svn commit: r318192 - in stable: 10/sys/kern 10/sys/sys 10/usr.bin/gcore 11/sys/kern 11/sys/sys 11/usr.bin/gcore
Author: jhb Date: Thu May 11 17:26:34 2017 New Revision: 318192 URL: https://svnweb.freebsd.org/changeset/base/318192 Log: MFC 313407,313449: Copy ELF machine/flags from binaries to core dumps. 313407: Copy the e_machine and e_flags fields from the binary into an ELF core dump. In the kernel, cache the machine and flags fields from ELF header to use in the ELF header of a core dump. For gcore, the copy these fields over from the ELF header in the binary. This matters for platforms which encode ABI information in the flags field (such as o32 vs n32 on MIPS). 313449: Trim trailing whitespace (mostly introduced in r313407). Sponsored by: DARPA / AFRL Modified: stable/10/sys/kern/imgact_elf.c stable/10/sys/kern/kern_fork.c stable/10/sys/sys/proc.h stable/10/usr.bin/gcore/elfcore.c Directory Properties: stable/10/ (props changed) Changes in other areas also in this revision: Modified: stable/11/sys/kern/imgact_elf.c stable/11/sys/kern/kern_fork.c stable/11/sys/sys/proc.h stable/11/usr.bin/gcore/elfcore.c Directory Properties: stable/11/ (props changed) Modified: stable/10/sys/kern/imgact_elf.c == --- stable/10/sys/kern/imgact_elf.c Thu May 11 17:03:45 2017 (r318191) +++ stable/10/sys/kern/imgact_elf.c Thu May 11 17:26:34 2017 (r318192) @@ -1041,6 +1041,8 @@ __CONCAT(exec_, __elfN(imgact))(struct i imgp->interpreted = 0; imgp->reloc_base = addr; imgp->proc->p_osrel = osrel; + imgp->proc->p_elf_machine = hdr->e_machine; + imgp->proc->p_elf_flags = hdr->e_flags; ret: free(interp_buf, M_TEMP); @@ -1616,15 +1618,11 @@ __elfN(puthdr)(struct thread *td, void * ehdr->e_ident[EI_ABIVERSION] = 0; ehdr->e_ident[EI_PAD] = 0; ehdr->e_type = ET_CORE; -#if defined(COMPAT_FREEBSD32) && __ELF_WORD_SIZE == 32 - ehdr->e_machine = ELF_ARCH32; -#else - ehdr->e_machine = ELF_ARCH; -#endif + ehdr->e_machine = td->td_proc->p_elf_machine; ehdr->e_version = EV_CURRENT; ehdr->e_entry = 0; ehdr->e_phoff = sizeof(Elf_Ehdr); - ehdr->e_flags = 0; + ehdr->e_flags = td->td_proc->p_elf_flags; ehdr->e_ehsize = sizeof(Elf_Ehdr); ehdr->e_phentsize = sizeof(Elf_Phdr); ehdr->e_phnum = numsegs + 1; Modified: stable/10/sys/kern/kern_fork.c == --- stable/10/sys/kern/kern_fork.c Thu May 11 17:03:45 2017 (r318191) +++ stable/10/sys/kern/kern_fork.c Thu May 11 17:26:34 2017 (r318192) @@ -404,6 +404,8 @@ do_fork(struct thread *td, int flags, st bcopy(&p1->p_startcopy, &p2->p_startcopy, __rangeof(struct proc, p_startcopy, p_endcopy)); + p2->p_elf_machine = p1->p_elf_machine; + p2->p_elf_flags = p1->p_elf_flags; pargs_hold(p2->p_args); PROC_UNLOCK(p1); Modified: stable/10/sys/sys/proc.h == --- stable/10/sys/sys/proc.hThu May 11 17:03:45 2017(r318191) +++ stable/10/sys/sys/proc.hThu May 11 17:26:34 2017(r318192) @@ -580,6 +580,7 @@ struct proc { rlim_t p_cpulimit; /* (c) Current CPU limit in seconds. */ signed char p_nice; /* (c) Process "nice" value. */ int p_fibnum; /* in this routing domain XXX MRT */ + /* End area that is copied on creation. */ #definep_endcopy p_xstat @@ -623,6 +624,8 @@ struct proc { struct pgrp *p_pgrp;/* (c + e) Pointer to process group. */ struct filemon *p_filemon; /* (c) filemon-specific data. */ u_int p_ptevents; /* (c) ptrace() event mask. */ + uint16_tp_elf_machine; /* (x) ELF machine type */ + uint64_tp_elf_flags;/* (x) ELF flags */ }; #definep_session p_pgrp->pg_session Modified: stable/10/usr.bin/gcore/elfcore.c == --- stable/10/usr.bin/gcore/elfcore.c Thu May 11 17:03:45 2017 (r318191) +++ stable/10/usr.bin/gcore/elfcore.c Thu May 11 17:26:34 2017 (r318192) @@ -114,8 +114,8 @@ static void *elf_note_procstat_psstrings static void *elf_note_procstat_rlimit(void *, size_t *); static void *elf_note_procstat_umask(void *, size_t *); static void *elf_note_procstat_vmmap(void *, size_t *); -static void elf_puthdr(pid_t, vm_map_entry_t, void *, size_t, size_t, size_t, -int); +static void elf_puthdr(int, pid_t, vm_map_entry_t, void *, size_t, size_t, +size_t, int); static void elf_putnote(int, notefunc_t, void *, struct sbuf *); static void elf_putnotes(pid_t, struct sbuf *, size_t *); static void freemap(vm_map_entry_t); @@ -175,7 +175,7 @@ elf_detach(void) * Write an ELF co
svn commit: r318191 - head/sys/kern
Author: markj Date: Thu May 11 17:03:45 2017 New Revision: 318191 URL: https://svnweb.freebsd.org/changeset/base/318191 Log: Let ptracestop() suspend threads sleeping in an SBDRY section. When a thread enters ptracestop(), for example because it had received SIGSTOP from ptrace(PT_ATTACH), it attempts to suspend other threads in the same process. In the case of a thread sleeping interruptibly in an SBDRY section, sig_suspend_threads() must wake the thread and allow it to reach the user-mode boundary. However, sig_suspend_threads() would erroneously avoid waking up such threads, resulting in an apparent hang. Reviewed by: kib Tested by:pho MFC after:2 weeks Sponsored by: Dell EMC Isilon Modified: head/sys/kern/kern_sig.c Modified: head/sys/kern/kern_sig.c == --- head/sys/kern/kern_sig.cThu May 11 16:37:29 2017(r318190) +++ head/sys/kern/kern_sig.cThu May 11 17:03:45 2017(r318191) @@ -2477,6 +2477,7 @@ sig_suspend_threads(struct thread *td, s PROC_LOCK_ASSERT(p, MA_OWNED); PROC_SLOCK_ASSERT(p, MA_OWNED); + MPASS(sending || td == curthread); wakeup_swapper = 0; FOREACH_THREAD_IN_PROC(p, td2) { @@ -2493,10 +2494,9 @@ sig_suspend_threads(struct thread *td, s */ KASSERT(!TD_IS_SUSPENDED(td2), ("thread with deferred stops suspended")); - if (TD_SBDRY_INTR(td2) && sending) { + if (TD_SBDRY_INTR(td2)) wakeup_swapper |= sleepq_abort(td2, TD_SBDRY_ERRNO(td2)); - } } else if (!TD_IS_SUSPENDED(td2)) { thread_suspend_one(td2); } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318190 - head/release/scripts
Author: gjb Date: Thu May 11 16:37:29 2017 New Revision: 318190 URL: https://svnweb.freebsd.org/changeset/base/318190 Log: Update release/scripts/atlas-upload.sh to account for API changes made recently by Atlas Hashicorp. The data returned from GET and POST requests has changed, which caused a number of regex patterns to fail to be properly identified as 'success' or 'failure', which ended up in upload/publish failures. Tested with: 12-CURRENT MFC after:3 days Sponsored by: The FreeBSD Foundation Modified: head/release/scripts/atlas-upload.sh Modified: head/release/scripts/atlas-upload.sh == --- head/release/scripts/atlas-upload.shThu May 11 16:26:56 2017 (r318189) +++ head/release/scripts/atlas-upload.shThu May 11 16:37:29 2017 (r318190) @@ -132,20 +132,20 @@ main () { echo "Failed to get the token from the API" exit 2; fi - echo ${TOKENRESULT} | grep "\"token\":" > /dev/null + echo ${TOKENRESULT} | grep -E "\"(token|upload_path)\":" > /dev/null if [ $? != 0 ]; then echo "No token found from the API" exit 2 else - TOKEN=$(echo $TOKENRESULT | sed -e 's/.*token":"//' -e 's/".*//') + TOKEN=$(echo $TOKENRESULT | sed -e 's/.*token":"//' -e 's/.*upload_path":"//' -e 's/}$//g' -e 's/"//g') echo "Uploading to Atlas" - UPLOADRESULT=$(/usr/local/bin/curl -s -X PUT --upload-file ${FILE} ${ATLAS_UPLOAD_URL}/${TOKEN}) + UPLOADRESULT=$(/usr/local/bin/curl -s -X PUT --upload-file ${FILE} ${TOKEN}) # Validate the Upload echo "Validating" VALIDRESULT=$(/usr/local/bin/curl -s "https://atlas.hashicorp.com/api/v1/box/${USERNAME}/${BOX}/version/${VERSION}/provider/${PROVIDER}?access_token=${KEY}";) - HOSTED_TOKEN=$(echo $VALIDRESULT | sed -e 's/.*hosted_token":"//' -e 's/".*//') - if [ ! -z ${HOSTED_TOKEN} -a ! -z ${TOKEN} -a ${HOSTED_TOKEN} != ${TOKEN} ]; then + HOSTED_TOKEN=$(echo $VALIDRESULT | sed -e 's/.*"hosted"://' -e 's/,.*$//') + if [ ! -z ${TOKEN} -a "${HOSTED_TOKEN}" != "true" ]; then echo "Upload failed, try again." exit 2 fi ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318189 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Author: asomers Date: Thu May 11 16:26:56 2017 New Revision: 318189 URL: https://svnweb.freebsd.org/changeset/base/318189 Log: vdev_geom may associate multiple vdevs per g_consumer vdev_geom.c currently uses the g_consumer's private field to point to a vdev_t. That way, a GEOM event can cause a change to a ZFS vdev. For example, when you remove a disk, the vdev's status will change to REMOVED. However, vdev_geom will sometimes attach multiple vdevs to the same GEOM consumer. If this happens, then geom events will only be propagated to one of the vdevs. Fix this by storing a linked list of vdevs in g_consumer's private field. sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c * g_consumer.private now stores a linked list of vdev pointers associated with the consumer instead of just a single vdev pointer. * Change vdev_geom_set_physpath's signature to more closely match vdev_geom_set_rotation_rate * Don't bother calling g_access in vdev_geom_set_physpath. It's guaranteed that we've already accessed the consumer by the time we get here. * Don't call vdev_geom_set_physpath in vdev_geom_attach. Instead, call it in vdev_geom_open, after we know that the open has succeeded. PR: 218634 Reviewed by: gibbs MFC after:1 week Sponsored by: Spectra Logic Corp Differential Revision:https://reviews.freebsd.org/D10391 Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c == --- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu May 11 15:19:04 2017(r318188) +++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c Thu May 11 16:26:56 2017(r318189) @@ -49,6 +49,16 @@ struct g_class zfs_vdev_class = { .attrchanged = vdev_geom_attrchanged, }; +struct consumer_vdev_elem { + SLIST_ENTRY(consumer_vdev_elem) elems; + vdev_t *vd; +}; + +SLIST_HEAD(consumer_priv_t, consumer_vdev_elem); +_Static_assert(sizeof(((struct g_consumer*)NULL)->private) +== sizeof(struct consumer_priv_t*), +"consumer_priv_t* can't be stored in g_consumer.private"); + DECLARE_GEOM_CLASS(zfs_vdev_class, zfs_vdev); SYSCTL_DECL(_vfs_zfs_vdev); @@ -85,21 +95,16 @@ vdev_geom_set_rotation_rate(vdev_t *vd, } static void -vdev_geom_set_physpath(struct g_consumer *cp, boolean_t do_null_update) +vdev_geom_set_physpath(vdev_t *vd, struct g_consumer *cp, + boolean_t do_null_update) { boolean_t needs_update = B_FALSE; - vdev_t *vd; char *physpath; int error, physpath_len; - if (g_access(cp, 1, 0, 0) != 0) - return; - - vd = cp->private; physpath_len = MAXPATHLEN; physpath = g_malloc(physpath_len, M_WAITOK|M_ZERO); error = g_io_getattr("GEOM::physpath", cp, &physpath_len, physpath); - g_access(cp, -1, 0, 0); if (error == 0) { char *old_physpath; @@ -130,37 +135,40 @@ vdev_geom_set_physpath(struct g_consumer static void vdev_geom_attrchanged(struct g_consumer *cp, const char *attr) { - vdev_t *vd; char *old_physpath; + struct consumer_priv_t *priv; + struct consumer_vdev_elem *elem; int error; - vd = cp->private; - if (vd == NULL) + priv = (struct consumer_priv_t*)&cp->private; + if (SLIST_EMPTY(priv)) return; - if (strcmp(attr, "GEOM::rotation_rate") == 0) { - vdev_geom_set_rotation_rate(vd, cp); - return; - } - - if (strcmp(attr, "GEOM::physpath") == 0) { - vdev_geom_set_physpath(cp, /*do_null_update*/B_TRUE); - return; + SLIST_FOREACH(elem, priv, elems) { + vdev_t *vd = elem->vd; + if (strcmp(attr, "GEOM::rotation_rate") == 0) { + vdev_geom_set_rotation_rate(vd, cp); + return; + } + if (strcmp(attr, "GEOM::physpath") == 0) { + vdev_geom_set_physpath(vd, cp, /*null_update*/B_TRUE); + return; + } } } static void vdev_geom_orphan(struct g_consumer *cp) { - vdev_t *vd; + struct consumer_priv_t *priv; + struct consumer_vdev_elem *elem; g_topology_assert(); - vd = cp->private; - if (vd == NULL) { + priv = (struct consumer_priv_t*)&cp->private; + if (SLIST_EMPTY(priv)) /* Vdev close in progress. Ignore the event. */ return; - } /* * Orphan callbacks occur from the GEOM event thread. @@ -176,8 +184,12 @@ vdev_geom_orphan(struct g_consumer *cp) * async removal support to invoke a close on this * vde
svn commit: r318188 - in head/sys/dev: mpr mps
Author: scottl Date: Thu May 11 15:19:04 2017 New Revision: 318188 URL: https://svnweb.freebsd.org/changeset/base/318188 Log: Improve error messages during command timeout for the mpr and mps drivers. Sponsored by: Netflix Modified: head/sys/dev/mpr/mpr_sas.c head/sys/dev/mps/mps_sas.c Modified: head/sys/dev/mpr/mpr_sas.c == --- head/sys/dev/mpr/mpr_sas.c Thu May 11 13:50:16 2017(r318187) +++ head/sys/dev/mpr/mpr_sas.c Thu May 11 15:19:04 2017(r318188) @@ -1562,7 +1562,7 @@ mprsas_send_abort(struct mpr_softc *sc, return -1; } - mprsas_log_command(tm, MPR_RECOVERY|MPR_INFO, + mprsas_log_command(cm, MPR_RECOVERY|MPR_INFO, "Aborting command %p\n", cm); req = (MPI2_SCSI_TASK_MANAGE_REQUEST *)tm->cm_req; @@ -1594,7 +1594,7 @@ mprsas_send_abort(struct mpr_softc *sc, err = mpr_map_command(sc, tm); if (err) - mprsas_log_command(tm, MPR_RECOVERY, + mpr_dprint(sc, MPR_RECOVERY, "error %d sending abort for cm %p SMID %u\n", err, cm, req->TaskMID); return err; @@ -1635,8 +1635,9 @@ mprsas_scsiio_timeout(void *data) targ = cm->cm_targ; targ->timeouts++; - mprsas_log_command(cm, MPR_ERROR, "command timeout cm %p ccb %p target " - "%u, handle(0x%04x)\n", cm, cm->cm_ccb, targ->tid, targ->handle); + mprsas_log_command(cm, MPR_ERROR, "command timeout %d cm %p target " + "%u, handle(0x%04x)\n", cm->cm_ccb->ccb_h.timeout, cm, targ->tid, + targ->handle); if (targ->encl_level_valid) { mpr_dprint(sc, MPR_ERROR, "At enclosure level %d, slot %d, " "connector name (%4s)\n", targ->encl_level, targ->encl_slot, Modified: head/sys/dev/mps/mps_sas.c == --- head/sys/dev/mps/mps_sas.c Thu May 11 13:50:16 2017(r318187) +++ head/sys/dev/mps/mps_sas.c Thu May 11 15:19:04 2017(r318188) @@ -1505,7 +1505,7 @@ mpssas_send_abort(struct mps_softc *sc, return -1; } - mpssas_log_command(tm, MPS_RECOVERY|MPS_INFO, + mpssas_log_command(cm, MPS_RECOVERY|MPS_INFO, "Aborting command %p\n", cm); req = (MPI2_SCSI_TASK_MANAGE_REQUEST *)tm->cm_req; @@ -1536,7 +1536,7 @@ mpssas_send_abort(struct mps_softc *sc, err = mps_map_command(sc, tm); if (err) - mpssas_log_command(tm, MPS_RECOVERY, + mps_dprint(sc, MPS_RECOVERY, "error %d sending abort for cm %p SMID %u\n", err, cm, req->TaskMID); return err; @@ -1574,12 +1574,13 @@ mpssas_scsiio_timeout(void *data) return; } - mpssas_log_command(cm, MPS_INFO, "command timeout cm %p ccb %p\n", - cm, cm->cm_ccb); - targ = cm->cm_targ; targ->timeouts++; + mpssas_log_command(cm, MPS_ERROR, "command timeout %d cm %p target " + "%u, handle(0x%04x)\n", cm->cm_ccb->ccb_h.timeout, cm, targ->tid, + targ->handle); + /* XXX first, check the firmware state, to see if it's still * operational. if not, do a diag reset. */ ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318187 - stable/10/share/man/man4
Author: hselasky Date: Thu May 11 13:50:16 2017 New Revision: 318187 URL: https://svnweb.freebsd.org/changeset/base/318187 Log: MFC r317584: Correct manual page link to usbdi(9). Modified: stable/10/share/man/man4/usb.4 Directory Properties: stable/10/ (props changed) Modified: stable/10/share/man/man4/usb.4 == --- stable/10/share/man/man4/usb.4 Thu May 11 13:49:05 2017 (r318186) +++ stable/10/share/man/man4/usb.4 Thu May 11 13:50:16 2017 (r318187) @@ -144,7 +144,7 @@ specifications can be found at: .D1 Pa http://www.usb.org/developers/docs/ .Pp .Xr libusb 3 , -.Xr usbdi 4 , +.Xr usbdi 9 , .Xr aue 4 , .Xr axe 4 , .Xr axge 4 , ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318186 - stable/11/share/man/man4
Author: hselasky Date: Thu May 11 13:49:05 2017 New Revision: 318186 URL: https://svnweb.freebsd.org/changeset/base/318186 Log: MFC r317584: Correct manual page link to usbdi(9). Modified: stable/11/share/man/man4/usb.4 Directory Properties: stable/11/ (props changed) Modified: stable/11/share/man/man4/usb.4 == --- stable/11/share/man/man4/usb.4 Thu May 11 13:46:30 2017 (r318185) +++ stable/11/share/man/man4/usb.4 Thu May 11 13:49:05 2017 (r318186) @@ -144,7 +144,7 @@ specifications can be found at: .D1 Pa http://www.usb.org/developers/docs/ .Pp .Xr libusb 3 , -.Xr usbdi 4 , +.Xr usbdi 9 , .Xr aue 4 , .Xr axe 4 , .Xr axge 4 , ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318185 - in head: lib/libmt usr.bin/mt
Author: ken Date: Thu May 11 13:46:30 2017 New Revision: 318185 URL: https://svnweb.freebsd.org/changeset/base/318185 Log: Add LTO-8 density codes. lib/libmt/mtlib.c: Add the LTO-8 density code to the density table in libmt. usr.bin/mt/mt.1: Add the LTO-8 density code, tracks, bpmm, and bpi to the density table in the mt(1) man page. MFC after:3 days Sponsored by: Spectra Logic Modified: head/lib/libmt/mtlib.c head/usr.bin/mt/mt.1 Modified: head/lib/libmt/mtlib.c == --- head/lib/libmt/mtlib.c Thu May 11 11:13:02 2017(r318184) +++ head/lib/libmt/mtlib.c Thu May 11 13:46:30 2017(r318185) @@ -644,6 +644,7 @@ static struct densities { { 0x58, 15142, 384607, "LTO-5" }, { 0x5A, 15142, 384607, "LTO-6" }, { 0x5C, 19107, 485318, "LTO-7" }, + { 0x5E, 20669, 524993, "LTO-8" }, { 0x71, 11800, 299720, "3592A1 (encrypted)" }, { 0x72, 11800, 299720, "3592A2 (encrypted)" }, { 0x73, 13452, 341681, "3592A3 (encrypted)" }, Modified: head/usr.bin/mt/mt.1 == --- head/usr.bin/mt/mt.1Thu May 11 11:13:02 2017(r318184) +++ head/usr.bin/mt/mt.1Thu May 11 13:46:30 2017(r318185) @@ -29,7 +29,7 @@ .\"@(#)mt.18.1 (Berkeley) 6/6/93 .\" $FreeBSD$ .\" -.Dd May 5, 2017 +.Dd May 11, 2017 .Dt MT 1 .Os .Sh NAME @@ -521,6 +521,7 @@ Value WidthTracksDensity 0x58 12.7 (0.5) 1280 15,142 (384,607) C LTO-5 0x5A 12.7 (0.5) 2176 15,142 (384,607) C LTO-6 0x5C 12.7 (0.5) 3584 19,107 (485,318) C LTO-7 +0x5E 12.7 (0.5) 6656 20,669 (524,993) C LTO-8 0x71 12.7 (0.5) 512 11,800 (299,720) C 3592A1 (encrypted) 0x72 12.7 (0.5) 896 11,800 (299,720) C 3592A2 (encrypted) 0x73 12.7 (0.5) 1152 13,452 (341,681) C 3592A3 (encrypted) ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
Re: svn commit: r318166 - head/sys/netinet
Gleb Smirnoff wrote: > Author: glebius > Date: Wed May 10 23:32:31 2017 > New Revision: 318166 > URL: https://svnweb.freebsd.org/changeset/base/318166 > > Log: > There is no good reason for TCP reassembly zone to be UMA_ZONE_NOFREE. > > It has strong locking model, doesn't have any timers associated with > entries. The entries theirselves are referenced only from the tcpcb > zone, which itself is a normal zone, without the UMA_ZONE_NOFREE flag. A side effect of the UMA_ZONE_NOFREE flag is that allocations with M_NOWAIT (currently used tcp_reass()) are less likely to fail. Removing the UMA_ZONE_NOFREE in other TCP-related parts "recently" caused (still unfixed) regressions like: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=209680 It would be great if there was a method to reserve a certain number of items for the zone without having to rely on UMA_ZONE_NOFREE but last time I checked there wasn't one. Fabian pgpICYxU2RXuq.pgp Description: OpenPGP digital signature
Re: svn commit: r318161 - head/contrib/bmake
On 10/05/17 19:35, Ngie Cooper wrote: > On Wed, May 10, 2017 at 3:31 PM, Ngie Cooper wrote: >> On Wed, May 10, 2017 at 3:24 PM, Simon J. Gerraty wrote: >>> Author: sjg >>> Date: Wed May 10 22:24:09 2017 >>> New Revision: 318161 >>> URL: https://svnweb.freebsd.org/changeset/base/318161 >>> >>> Log: >>> Ensure buf2 is in scope >> >> I think this is the proper fix for the issue that Bryan, Ravi, and I > > Ravi -> Renato > >> reported.. also reported as Coverity CID: 1374641. Yeah, it fixed the problem to me. Thanks! -- Renato Botelho ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318184 - vendor/libarchive/dist/cpio/test
Author: mm Date: Thu May 11 11:13:02 2017 New Revision: 318184 URL: https://svnweb.freebsd.org/changeset/base/318184 Log: Update vendor/libarchive to git f2230fcaed3159d10caed63d9a20caa9fdc94c62 Vendor fixes: #909: Fix use after free in cpio test_option_lz4 Reported by: Coverity (ngie@) Modified: vendor/libarchive/dist/cpio/test/test_option_lz4.c Modified: vendor/libarchive/dist/cpio/test/test_option_lz4.c == --- vendor/libarchive/dist/cpio/test/test_option_lz4.c Thu May 11 09:36:51 2017(r318183) +++ vendor/libarchive/dist/cpio/test/test_option_lz4.c Thu May 11 11:13:02 2017(r318184) @@ -74,8 +74,8 @@ DEFINE_TEST(test_option_lz4) free(p); return; } - free(p); failure("--lz4 option is broken: %s", p); + free(p); assertEqualInt(r, 0); return; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318183 - stable/11/sys/kern
Author: kib Date: Thu May 11 09:36:51 2017 New Revision: 318183 URL: https://svnweb.freebsd.org/changeset/base/318183 Log: MFC r317523: Add asserts to verify stability of struct proc and struct thread layouts. Modified: stable/11/sys/kern/kern_thread.c Directory Properties: stable/11/ (props changed) Modified: stable/11/sys/kern/kern_thread.c == --- stable/11/sys/kern/kern_thread.cThu May 11 08:39:55 2017 (r318182) +++ stable/11/sys/kern/kern_thread.cThu May 11 09:36:51 2017 (r318183) @@ -64,6 +64,57 @@ __FBSDID("$FreeBSD$"); #include #include +/* + * Asserts below verify the stability of struct thread and struct proc + * layout, as exposed by KBI to modules. On head, the KBI is allowed + * to drift, change to the structures must be accompanied by the + * assert update. + * + * On the stable branches after KBI freeze, conditions must not be + * violated. Typically new fields are moved to the end of the + * structures. + */ +#ifdef __amd64__ +_Static_assert(offsetof(struct thread, td_flags) == 0xe4, +"struct thread KBI td_flags"); +_Static_assert(offsetof(struct thread, td_pflags) == 0xec, +"struct thread KBI td_pflags"); +_Static_assert(offsetof(struct thread, td_frame) == 0x418, +"struct thread KBI td_frame"); +_Static_assert(offsetof(struct thread, td_emuldata) == 0x4c0, +"struct thread KBI td_emuldata"); +_Static_assert(offsetof(struct proc, p_flag) == 0xb0, +"struct proc KBI p_flag"); +_Static_assert(offsetof(struct proc, p_pid) == 0xbc, +"struct proc KBI p_pid"); +_Static_assert(offsetof(struct proc, p_filemon) == 0x3d0, +"struct proc KBI p_filemon"); +_Static_assert(offsetof(struct proc, p_comm) == 0x3e0, +"struct proc KBI p_comm"); +_Static_assert(offsetof(struct proc, p_emuldata) == 0x4b0, +"struct proc KBI p_emuldata"); +#endif +#ifdef __i386__ +_Static_assert(offsetof(struct thread, td_flags) == 0x8c, +"struct thread KBI td_flags"); +_Static_assert(offsetof(struct thread, td_pflags) == 0x94, +"struct thread KBI td_pflags"); +_Static_assert(offsetof(struct thread, td_frame) == 0x2c0, +"struct thread KBI td_frame"); +_Static_assert(offsetof(struct thread, td_emuldata) == 0x30c, +"struct thread KBI td_emuldata"); +_Static_assert(offsetof(struct proc, p_flag) == 0x68, +"struct proc KBI p_flag"); +_Static_assert(offsetof(struct proc, p_pid) == 0x74, +"struct proc KBI p_pid"); +_Static_assert(offsetof(struct proc, p_filemon) == 0x278, +"struct proc KBI p_filemon"); +_Static_assert(offsetof(struct proc, p_comm) == 0x284, +"struct proc KBI p_comm"); +_Static_assert(offsetof(struct proc, p_emuldata) == 0x304, +"struct proc KBI p_emuldata"); +#endif + SDT_PROVIDER_DECLARE(proc); SDT_PROBE_DEFINE(proc, , , lwp__exit); ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318182 - head/share/man/man7
Author: trasz Date: Thu May 11 08:39:55 2017 New Revision: 318182 URL: https://svnweb.freebsd.org/changeset/base/318182 Log: Improve build(7): add missing "buildkernel" and "installkernel" to the example, change the architectures to something more common, and improve description of defaults for TARGET. Reviewed by: bdrewery, ngie, imp (older revisions) MFC after:2 weeks Differential Revision:https://reviews.freebsd.org/D10654 Modified: head/share/man/man7/build.7 Modified: head/share/man/man7/build.7 == --- head/share/man/man7/build.7 Thu May 11 08:22:01 2017(r318181) +++ head/share/man/man7/build.7 Thu May 11 08:39:55 2017(r318182) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 22, 2017 +.Dd May 11, 2017 .Dt BUILD 7 .Os .Sh NAME @@ -528,7 +528,10 @@ and .Va TARGET Ns = Ns Li arm64 . If not set, .Va TARGET -defaults to the current hardware platform. +defaults to the current hardware platform, unless +.Va TARGET_ARCH +is also set, in which case it defaults to the appropriate +value for that architecture. .It Va TARGET_ARCH The target machine processor architecture. This is analogous to the @@ -689,11 +692,11 @@ section in .Pa src/UPDATING . .Pp The following sequence of commands can be used to cross-build the -system for the sparc64 architecture on an i386 host: +system for the armv6 architecture on an amd64 host: .Bd -literal -offset indent cd /usr/src -make TARGET=sparc64 buildworld -make TARGET=sparc64 DESTDIR=/clients/sparc64 installworld +make TARGET_ARCH=armv6 buildworld buildkernel +make TARGET_ARCH=armv6 DESTDIR=/clients/arm64 installworld installkernel .Ed .Sh SEE ALSO .Xr cc 1 , @@ -702,6 +705,7 @@ make TARGET=sparc64 DESTDIR=/clients/spa .Xr svn 1 , .Xr make.conf 5 , .Xr src.conf 5 , +.Xr arch 7 , .Xr ports 7 , .Xr release 7 , .Xr tests 7 , ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318181 - head/contrib/libarchive/cpio/test
Author: ngie Date: Thu May 11 08:22:01 2017 New Revision: 318181 URL: https://svnweb.freebsd.org/changeset/base/318181 Log: cpio/tests/test_option_lz4: fix a use after free in the failure case This change will be upstreamed to the libarchive project. MFC after:6 days MFC with: r317782 Reported by: Coverity Sponsored by: Dell EMC Isilon Modified: head/contrib/libarchive/cpio/test/test_option_lz4.c Modified: head/contrib/libarchive/cpio/test/test_option_lz4.c == --- head/contrib/libarchive/cpio/test/test_option_lz4.c Thu May 11 08:06:46 2017(r318180) +++ head/contrib/libarchive/cpio/test/test_option_lz4.c Thu May 11 08:22:01 2017(r318181) @@ -74,8 +74,8 @@ DEFINE_TEST(test_option_lz4) free(p); return; } - free(p); failure("--lz4 option is broken: %s", p); + free(p); assertEqualInt(r, 0); return; } ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318180 - head/tests/sys/aio
Author: ngie Date: Thu May 11 08:06:46 2017 New Revision: 318180 URL: https://svnweb.freebsd.org/changeset/base/318180 Log: Mark all md tests as requiring unsafe AIO in order to function These tests have been flapping (failing<->passing) on Jenkins for months. It passes reliably for me if unsafe AIO is permitted, but it doesn't pass on Jenkins reliably if unsafe AIO is disabled (the current default). Mark the tests as requiring unsafe AIO to mitigate the intermittent failures when unsafe AIO isn't permitted. If the kernel code is changed to reliably function with md(4) devices using unsafe AIO, this commit can be reverted. MFC after:2 months PR: 217261 Reported by: Jenkins Sponsored by: Dell EMC Isilon Modified: head/tests/sys/aio/aio_test.c Modified: head/tests/sys/aio/aio_test.c == --- head/tests/sys/aio/aio_test.c Thu May 11 07:58:04 2017 (r318179) +++ head/tests/sys/aio/aio_test.c Thu May 11 08:06:46 2017 (r318180) @@ -735,6 +735,7 @@ aio_md_test(completion comp) struct md_ioctl mdio; ATF_REQUIRE_KERNEL_MODULE("aio"); + ATF_REQUIRE_UNSAFE_AIO(); mdctl_fd = open("/dev/" MDCTL_NAME, O_RDWR, 0); ATF_REQUIRE_MSG(mdctl_fd != -1, ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318179 - head/usr.bin/procstat
Author: ngie Date: Thu May 11 07:58:04 2017 New Revision: 318179 URL: https://svnweb.freebsd.org/changeset/base/318179 Log: procstat(1): also reference icmp(4) and sctp(4) This was missed in the previous commit by accident. MFC after:3 weeks MFC with: r318178 Sponsored by: Dell EMC Isilon Modified: head/usr.bin/procstat/procstat.1 Modified: head/usr.bin/procstat/procstat.1 == --- head/usr.bin/procstat/procstat.1Thu May 11 07:55:38 2017 (r318178) +++ head/usr.bin/procstat/procstat.1Thu May 11 07:58:04 2017 (r318179) @@ -602,7 +602,9 @@ auxiliary vector value .Xr xo_parse_args 3 , .Xr ddb 4 , .Xr divert 4 , +.Xr icmp 4 , .Xr ip 4 , +.Xr sctp 4 , .Xr tcp 4 , .Xr udp 4 , .Xr stack 9 ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"
svn commit: r318178 - head/usr.bin/procstat
Author: ngie Date: Thu May 11 07:55:38 2017 New Revision: 318178 URL: https://svnweb.freebsd.org/changeset/base/318178 Log: procstat(1): document all possible `PRO` (network protocol) values Reference the appropriate section 4 manpages for networking protocols. MFC after:3 weeks Sponsored by: Dell EMC Isilon Modified: head/usr.bin/procstat/procstat.1 Modified: head/usr.bin/procstat/procstat.1 == --- head/usr.bin/procstat/procstat.1Thu May 11 06:57:20 2017 (r318177) +++ head/usr.bin/procstat/procstat.1Thu May 11 07:55:38 2017 (r318178) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 10, 2017 +.Dd May 11, 2017 .Dt PROCSTAT 1 .Os .Sh NAME @@ -271,6 +271,60 @@ omitted, and a new capabilities field wi as described in .Xr cap_rights_limit 2 , present for each capability descriptor. +.Pp +The following network protocols may be displayed (grouped by address family): +.Pp +.Dv AF_INET , +.Dv AF_INET6 +.Pp +.Bl -tag -width indent -compact +.It ICM +.Dv IPPROTO_ICMP ; +see +.Xr icmp 4 . +.It IPD +.Dv IPPROTO_DIVERT ; +see +.Xr divert 4 . +.It IP\? +unknown protocol. +.It RAW +.Dv IPPROTO_RAW ; +see +.Xr ip 4 . +.It SCT +.Dv IPPROTO_SCTP ; +see +.Xr sctp 4 . +.It TCP +.Dv IPPROTO_TCP ; +see +.Xr tcp 4 . +.It UDP +.Dv IPPROTO_UDP ; +see +.Xr udp 4 . +.El +.Pp +.Dv AF_LOCAL +.Pp +.Bl -tag -width indent -compact +.It UDD +.Dv IPPROTO_UDP ; +see +.Xr udp 4 . +.It UDS +.Dv IPPROTO_TCP ; +see +.Xr tcp 4 . +.It UD\? +unknown protocol. +.El +.Pp +.Bl -tag -width indent -compact +.It \? +unknown address family. +.El .Ss Signal Disposition Information Display signal pending and disposition for a process: .Pp @@ -547,6 +601,10 @@ auxiliary vector value .Xr signal 3 , .Xr xo_parse_args 3 , .Xr ddb 4 , +.Xr divert 4 , +.Xr ip 4 , +.Xr tcp 4 , +.Xr udp 4 , .Xr stack 9 .Sh AUTHORS .An Robert N M Watson Aq Mt rwat...@freebsd.org . ___ svn-src-all@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"