mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
libwifi: add build dependency, remove temporary work around
This commit is contained in:
parent
bd7ffb6ed0
commit
1b17f255cd
2 changed files with 2 additions and 342 deletions
|
|
@ -57,6 +57,8 @@ else
|
|||
TARGET_CFLAGS +=-DIOPSYS_MAC80211
|
||||
endif
|
||||
|
||||
PKG_BUILD_DEPENDS:=PACKAGE_kmod-mt7915e:mt76
|
||||
|
||||
ifneq ($(CONFIG_PACKAGE_libwifi),)
|
||||
TARGET_CFLAGS +=-DHAS_WIFI
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -1,342 +0,0 @@
|
|||
#ifndef __MT7915_VENDOR_H
|
||||
#define __MT7915_VENDOR_H
|
||||
|
||||
#define MTK_NL80211_VENDOR_ID 0x0ce7
|
||||
#define EDCCA_THRES_NUM 3
|
||||
|
||||
enum mtk_nl80211_vendor_subcmds {
|
||||
MTK_NL80211_VENDOR_SUBCMD_AMNT_CTRL = 0xae,
|
||||
MTK_NL80211_VENDOR_SUBCMD_CSI_CTRL = 0xc2,
|
||||
MTK_NL80211_VENDOR_SUBCMD_RFEATURE_CTRL = 0xc3,
|
||||
MTK_NL80211_VENDOR_SUBCMD_WIRELESS_CTRL = 0xc4,
|
||||
MTK_NL80211_VENDOR_SUBCMD_HEMU_CTRL = 0xc5,
|
||||
MTK_NL80211_VENDOR_SUBCMD_PHY_CAPA_CTRL = 0xc6,
|
||||
MTK_NL80211_VENDOR_SUBCMD_EDCCA_CTRL = 0xc7,
|
||||
MTK_NL80211_VENDOR_SUBCMD_3WIRE_CTRL = 0xc8,
|
||||
MTK_NL80211_VENDOR_SUBCMD_IBF_CTRL = 0xc9,
|
||||
MTK_NL80211_VENDOR_SUBCMD_RSTATS = 0xd0,
|
||||
MTK_NL80211_VENDOR_SUBCMD_IFSTATS = 0xd1,
|
||||
};
|
||||
|
||||
|
||||
enum mtk_vendor_attr_edcca_ctrl {
|
||||
MTK_VENDOR_ATTR_EDCCA_THRESHOLD_INVALID = 0,
|
||||
|
||||
MTK_VENDOR_ATTR_EDCCA_CTRL_MODE,
|
||||
MTK_VENDOR_ATTR_EDCCA_CTRL_PRI20_VAL,
|
||||
MTK_VENDOR_ATTR_EDCCA_CTRL_SEC20_VAL,
|
||||
MTK_VENDOR_ATTR_EDCCA_CTRL_SEC40_VAL,
|
||||
MTK_VENDOR_ATTR_EDCCA_CTRL_SEC80_VAL,
|
||||
MTK_VENDOR_ATTR_EDCCA_CTRL_COMPENSATE,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL,
|
||||
MTK_VENDOR_ATTR_EDCCA_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_EDCCA_CTRL - 1
|
||||
};
|
||||
|
||||
|
||||
enum mtk_vendor_attr_edcca_dump {
|
||||
MTK_VENDOR_ATTR_EDCCA_DUMP_UNSPEC = 0,
|
||||
|
||||
MTK_VENDOR_ATTR_EDCCA_DUMP_MODE,
|
||||
MTK_VENDOR_ATTR_EDCCA_DUMP_PRI20_VAL,
|
||||
MTK_VENDOR_ATTR_EDCCA_DUMP_SEC40_VAL,
|
||||
MTK_VENDOR_ATTR_EDCCA_DUMP_SEC80_VAL,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_EDCCA_DUMP,
|
||||
MTK_VENDOR_ATTR_EDCCA_DUMP_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_EDCCA_DUMP - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_3wire_ctrl {
|
||||
MTK_VENDOR_ATTR_3WIRE_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_3WIRE_CTRL_MODE,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL,
|
||||
MTK_VENDOR_ATTR_3WIRE_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_3WIRE_CTRL - 1
|
||||
};
|
||||
|
||||
|
||||
enum mtk_capi_control_changed {
|
||||
CAPI_RFEATURE_CHANGED = BIT(16),
|
||||
CAPI_WIRELESS_CHANGED = BIT(17),
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_wireless_ctrl {
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_FIXED_MCS,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_OFDMA,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_PPDU_TX_TYPE,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_NUSERS_OFDMA,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_BA_BUFFER_SIZE,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_MIMO,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_AMSDU,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_CERT = 9,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_RTS_SIGTA,
|
||||
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_MU_EDCA, /* reserve */
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL,
|
||||
MTK_VENDOR_ATTR_WIRELESS_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_WIRELESS_CTRL - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_wireless_dump {
|
||||
MTK_VENDOR_ATTR_WIRELESS_DUMP_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_WIRELESS_DUMP_AMSDU,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP,
|
||||
MTK_VENDOR_ATTR_WIRELESS_DUMP_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_WIRELESS_DUMP - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_hemu_ctrl {
|
||||
MTK_VENDOR_ATTR_HEMU_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_HEMU_CTRL_ONOFF,
|
||||
MTK_VENDOR_ATTR_HEMU_CTRL_DUMP,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_HEMU_CTRL,
|
||||
MTK_VENDOR_ATTR_HEMU_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_HEMU_CTRL - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_rfeature_ctrl {
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_HE_GI,
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_HE_LTF,
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE_CFG,
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE_EN,
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TYPE,
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_ACK_PLCY,
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_TRIG_TXBF,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL,
|
||||
MTK_VENDOR_ATTR_RFEATURE_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_RFEATURE_CTRL - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_csi_ctrl {
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_CFG,
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_CFG_MODE,
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_CFG_TYPE,
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_CFG_VAL1,
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_CFG_VAL2,
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_MAC_ADDR,
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_INTERVAL,
|
||||
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_DUMP_NUM,
|
||||
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_DATA,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_CSI_CTRL,
|
||||
MTK_VENDOR_ATTR_CSI_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_CSI_CTRL - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_csi_data {
|
||||
MTK_VENDOR_ATTR_CSI_DATA_UNSPEC,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_PAD,
|
||||
|
||||
MTK_VENDOR_ATTR_CSI_DATA_VER,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_TS,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_RSSI,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_SNR,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_BW,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_CH_IDX,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_TA,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_I,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_Q,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_INFO,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_RSVD1,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_RSVD2,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_RSVD3,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_RSVD4,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_TX_ANT,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_RX_ANT,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_MODE,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_H_IDX,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_CSI_DATA,
|
||||
MTK_VENDOR_ATTR_CSI_DATA_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_CSI_DATA - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_mnt_ctrl {
|
||||
MTK_VENDOR_ATTR_AMNT_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_AMNT_CTRL_SET,
|
||||
MTK_VENDOR_ATTR_AMNT_CTRL_DUMP,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_AMNT_CTRL,
|
||||
MTK_VENDOR_ATTR_AMNT_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_AMNT_CTRL - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_mnt_set {
|
||||
MTK_VENDOR_ATTR_AMNT_SET_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_AMNT_SET_INDEX,
|
||||
MTK_VENDOR_ATTR_AMNT_SET_MACADDR,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_AMNT_SET,
|
||||
MTK_VENDOR_ATTR_AMNT_SET_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_AMNT_SET - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_mnt_dump {
|
||||
MTK_VENDOR_ATTR_AMNT_DUMP_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_AMNT_DUMP_INDEX,
|
||||
MTK_VENDOR_ATTR_AMNT_DUMP_LEN,
|
||||
MTK_VENDOR_ATTR_AMNT_DUMP_RESULT,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_AMNT_DUMP,
|
||||
MTK_VENDOR_ATTR_AMNT_DUMP_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_AMNT_DUMP - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_phy_capa_ctrl {
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_SET,
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_DUMP,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_CTRL,
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_CTRL - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_phy_capa_dump {
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_MAX_SUPPORTED_BSS,
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_MAX_SUPPORTED_STA,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_DUMP,
|
||||
MTK_VENDOR_ATTR_PHY_CAPA_DUMP_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_PHY_CAPA_DUMP - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_ibf_ctrl {
|
||||
MTK_VENDOR_ATTR_IBF_CTRL_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_IBF_CTRL_ENABLE,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_IBF_CTRL,
|
||||
MTK_VENDOR_ATTR_IBF_CTRL_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_IBF_CTRL - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_ibf_dump {
|
||||
MTK_VENDOR_ATTR_IBF_DUMP_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_IBF_DUMP_ENABLE,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_IBF_DUMP,
|
||||
MTK_VENDOR_ATTR_IBF_DUMP_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_IBF_DUMP - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_rstats_dump {
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_PAD,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_CTS_RCVD,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_CTS_NOT_RCVD,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_FRAME_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_GOOG_PLCP_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_DATA_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_MGMT_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_CTRL_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_CTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_OMAC_RTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_BYTES,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_BYTES,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_TX_DROPPED_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_DROPPED_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_PLCP_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_FCS_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_MAC_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_RX_UNKNOWN_PKTS,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_NOISE,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_RSTATS_DUMP,
|
||||
MTK_VENDOR_ATTR_RSTATS_DUMP_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_RSTATS_DUMP - 1
|
||||
};
|
||||
|
||||
enum mtk_vendor_attr_if_stats_dump {
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_UNSPEC,
|
||||
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_PAD,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_BYTES,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_BYTES,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_RTX_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_RTX_FAIL_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_RETRY_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_MRETRY_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_ACK_FAIL_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_AGGR_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_ERR_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_UCAST_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_UCAST_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_DROPPED_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_DROPPED_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_MCAST_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_MCAST_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_BCAST_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_BCAST_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_UNKNOWN_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_BUF_OVERFLOW,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_STA_NOT_ASSOC,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_FRAGS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_NO_ACK_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_DUP_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RX_TOO_LONG_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_TX_TOO_SHORT_PKTS,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_UCAST_ACK,
|
||||
|
||||
/* STA mode only */
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_LAST_DL_RATE,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_LAST_UL_RATE,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_SIGNAL,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_RETRANS_100,
|
||||
|
||||
/* keep last */
|
||||
NUM_MTK_VENDOR_ATTRS_IFSTATS_DUMP,
|
||||
MTK_VENDOR_ATTR_IFSTATS_DUMP_MAX =
|
||||
NUM_MTK_VENDOR_ATTRS_IFSTATS_DUMP - 1
|
||||
};
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Reference in a new issue