From: Fabio Aiuto <fabioaiuto83@gmail.com>
To: gregkh@linuxfoundation.org
Cc: joe@perches.com, linux-staging@lists.linux.dev,
linux-kernel@vger.kernel.org,
Fabio Aiuto <fabioaiuto83@gmail.com>
Subject: [PATCH 15/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_ieee80211.c
Date: Wed, 31 Mar 2021 11:39:43 +0200 [thread overview]
Message-ID: <f47ab96ce6c828c58bfca8ffb895a33f6071e4d4.1617183374.git.fabioaiuto83@gmail.com> (raw)
In-Reply-To: <cover.1617183374.git.fabioaiuto83@gmail.com>
replace private macro RT_TRACE for tracing with in-kernel
pr_* printk wrappers
Signed-off-by: Fabio Aiuto <fabioaiuto83@gmail.com>
---
.../staging/rtl8723bs/core/rtw_ieee80211.c | 116 +++++++++++-------
1 file changed, 74 insertions(+), 42 deletions(-)
diff --git a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
index e931afc3ba22..a7589f919c35 100644
--- a/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
+++ b/drivers/staging/rtl8723bs/core/rtw_ieee80211.c
@@ -489,7 +489,8 @@ int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis
left -= WPA_SELECTOR_LEN;
} else if (left > 0) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie length mismatch, %u too much", __func__, left));
+ pr_err("%s %s: ie length mismatch, %u too much",
+ DRIVER_PREFIX, __func__, left);
return _FAIL;
}
@@ -502,8 +503,9 @@ int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis
left -= 2;
if (count == 0 || left < count * WPA_SELECTOR_LEN) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie count botch (pairwise), "
- "count %u left %u", __func__, count, left));
+ pr_err("%s %s: ie count botch (pairwise), "
+ "count %u left %u", DRIVER_PREFIX,
+ __func__, count, left);
return _FAIL;
}
@@ -515,7 +517,7 @@ int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis
}
} else if (left == 1) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie too short (for key mgmt)", __func__));
+ pr_err("%s %s: ie too short (for key mgmt)", DRIVER_PREFIX, __func__);
return _FAIL;
}
@@ -523,7 +525,8 @@ int rtw_parse_wpa_ie(u8 *wpa_ie, int wpa_ie_len, int *group_cipher, int *pairwis
if (left >= 6) {
pos += 2;
if (!memcmp(pos, SUITE_1X, 4)) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s : there has 802.1x auth\n", __func__));
+ pr_info("%s %s : there has 802.1x auth\n",
+ DRIVER_PREFIX, __func__);
*is_8021x = 1;
}
}
@@ -560,7 +563,8 @@ int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi
left -= RSN_SELECTOR_LEN;
} else if (left > 0) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie length mismatch, %u too much", __func__, left));
+ pr_err("%s %s: ie length mismatch, %u too much",
+ DRIVER_PREFIX, __func__, left);
return _FAIL;
}
@@ -572,8 +576,9 @@ int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi
left -= 2;
if (count == 0 || left < count * RSN_SELECTOR_LEN) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie count botch (pairwise), "
- "count %u left %u", __func__, count, left));
+ pr_err("%s %s: ie count botch (pairwise), "
+ "count %u left %u",
+ DRIVER_PREFIX, __func__, count, left);
return _FAIL;
}
@@ -585,7 +590,8 @@ int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi
}
} else if (left == 1) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_err_, ("%s: ie too short (for key mgmt)", __func__));
+ pr_err("%s %s: ie too short (for key mgmt)",
+ DRIVER_PREFIX, __func__);
return _FAIL;
}
@@ -594,7 +600,8 @@ int rtw_parse_wpa2_ie(u8 *rsn_ie, int rsn_ie_len, int *group_cipher, int *pairwi
if (left >= 6) {
pos += 2;
if (!memcmp(pos, SUITE_1X, 4)) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s (): there has 802.1x auth\n", __func__));
+ pr_info("%s %s: there has 802.1x auth\n",
+ DRIVER_PREFIX, __func__);
*is_8021x = 1;
}
}
@@ -630,9 +637,16 @@ int rtw_get_wapi_ie(u8 *in_ie, uint in_len, u8 *wapi_ie, u16 *wapi_len)
memcpy(wapi_ie, &in_ie[cnt], in_ie[cnt+1]+2);
for (i = 0; i < (in_ie[cnt+1]+2); i = i+8) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("\n %2x,%2x,%2x,%2x,%2x,%2x,%2x,%2x\n",
- wapi_ie[i], wapi_ie[i+1], wapi_ie[i+2], wapi_ie[i+3], wapi_ie[i+4],
- wapi_ie[i+5], wapi_ie[i+6], wapi_ie[i+7]));
+ pr_info("%s %2x,%2x,%2x,%2x,%2x,%2x,%2x,%2x\n",
+ DRIVER_PREFIX,
+ wapi_ie[i],
+ wapi_ie[i+1],
+ wapi_ie[i+2],
+ wapi_ie[i+3],
+ wapi_ie[i+4],
+ wapi_ie[i+5],
+ wapi_ie[i+6],
+ wapi_ie[i+7]);
}
}
@@ -668,31 +682,47 @@ void rtw_get_sec_ie(u8 *in_ie, uint in_len, u8 *rsn_ie, u16 *rsn_len, u8 *wpa_ie
authmode = in_ie[cnt];
if ((authmode == WLAN_EID_VENDOR_SPECIFIC) && (!memcmp(&in_ie[cnt+2], &wpa_oui[0], 4))) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("\n rtw_get_wpa_ie: sec_idx =%d in_ie[cnt+1]+2 =%d\n", sec_idx, in_ie[cnt+1]+2));
+ pr_info("%s %s: sec_idx =%d in_ie[cnt+1]+2 =%d\n",
+ DRIVER_PREFIX, __func__, sec_idx, in_ie[cnt+1]+2);
- if (wpa_ie) {
+ if (wpa_ie) {
memcpy(wpa_ie, &in_ie[cnt], in_ie[cnt+1]+2);
for (i = 0; i < (in_ie[cnt+1]+2); i = i+8) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("\n %2x,%2x,%2x,%2x,%2x,%2x,%2x,%2x\n",
- wpa_ie[i], wpa_ie[i+1], wpa_ie[i+2], wpa_ie[i+3], wpa_ie[i+4],
- wpa_ie[i+5], wpa_ie[i+6], wpa_ie[i+7]));
- }
+ pr_info("%s %2x,%2x,%2x,%2x,%2x,%2x,%2x,%2x\n",
+ DRIVER_PREFIX,
+ wpa_ie[i],
+ wpa_ie[i+1],
+ wpa_ie[i+2],
+ wpa_ie[i+3],
+ wpa_ie[i+4],
+ wpa_ie[i+5],
+ wpa_ie[i+6],
+ wpa_ie[i+7]);
}
+ }
- *wpa_len = in_ie[cnt+1]+2;
- cnt += in_ie[cnt+1]+2; /* get next */
+ *wpa_len = in_ie[cnt+1]+2;
+ cnt += in_ie[cnt+1]+2; /* get next */
} else {
if (authmode == WLAN_EID_RSN) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("\n get_rsn_ie: sec_idx =%d in_ie[cnt+1]+2 =%d\n", sec_idx, in_ie[cnt+1]+2));
+ pr_info("%s %s: sec_idx =%d in_ie[cnt+1]+2 =%d\n",
+ DRIVER_PREFIX, __func__, sec_idx, in_ie[cnt+1]+2);
if (rsn_ie) {
memcpy(rsn_ie, &in_ie[cnt], in_ie[cnt+1]+2);
- for (i = 0; i < (in_ie[cnt+1]+2); i = i+8) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("\n %2x,%2x,%2x,%2x,%2x,%2x,%2x,%2x\n",
- rsn_ie[i], rsn_ie[i+1], rsn_ie[i+2], rsn_ie[i+3], rsn_ie[i+4],
- rsn_ie[i+5], rsn_ie[i+6], rsn_ie[i+7]));
+ for (i = 0; i < (in_ie[cnt+1]+2); i = i+8) {
+ pr_info("%s %2x,%2x,%2x,%2x,%2x,%2x,%2x,%2x\n",
+ DRIVER_PREFIX,
+ rsn_ie[i],
+ rsn_ie[i+1],
+ rsn_ie[i+2],
+ rsn_ie[i+3],
+ rsn_ie[i+4],
+ rsn_ie[i+5],
+ rsn_ie[i+6],
+ rsn_ie[i+7]);
}
}
@@ -1138,28 +1168,30 @@ static int rtw_get_cipher_info(struct wlan_network *pnetwork)
pbuf = rtw_get_wpa_ie(&pnetwork->network.IEs[12], &wpa_ielen, pnetwork->network.IELength-12);
if (pbuf && (wpa_ielen > 0)) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_cipher_info: wpa_ielen: %d", wpa_ielen));
+ pr_info("%s %s: wpa_ielen: %d", DRIVER_PREFIX, __func__, wpa_ielen);
if (_SUCCESS == rtw_parse_wpa_ie(pbuf, wpa_ielen+2, &group_cipher, &pairwise_cipher, &is8021x)) {
pnetwork->BcnInfo.pairwise_cipher = pairwise_cipher;
pnetwork->BcnInfo.group_cipher = group_cipher;
pnetwork->BcnInfo.is_8021x = is8021x;
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s: pnetwork->pairwise_cipher: %d, is_8021x is %d",
- __func__, pnetwork->BcnInfo.pairwise_cipher, pnetwork->BcnInfo.is_8021x));
+ pr_info("%s %s: pnetwork->pairwise_cipher: %d, is_8021x is %d",
+ DRIVER_PREFIX, __func__, pnetwork->BcnInfo.pairwise_cipher,
+ pnetwork->BcnInfo.is_8021x);
ret = _SUCCESS;
}
} else {
pbuf = rtw_get_wpa2_ie(&pnetwork->network.IEs[12], &wpa_ielen, pnetwork->network.IELength-12);
if (pbuf && (wpa_ielen > 0)) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("get RSN IE\n"));
+ pr_info("%s get RSN IE\n", DRIVER_PREFIX);
if (_SUCCESS == rtw_parse_wpa2_ie(pbuf, wpa_ielen+2, &group_cipher, &pairwise_cipher, &is8021x)) {
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("get RSN IE OK!!!\n"));
+ pr_info("%s get RSN IE OK!!!\n", DRIVER_PREFIX);
pnetwork->BcnInfo.pairwise_cipher = pairwise_cipher;
pnetwork->BcnInfo.group_cipher = group_cipher;
pnetwork->BcnInfo.is_8021x = is8021x;
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("%s: pnetwork->pairwise_cipher: %d,"
- "pnetwork->group_cipher is %d, is_8021x is %d", __func__, pnetwork->BcnInfo.pairwise_cipher,
- pnetwork->BcnInfo.group_cipher, pnetwork->BcnInfo.is_8021x));
+ pr_info("%s %s: pnetwork->pairwise_cipher: %d,"
+ "pnetwork->group_cipher is %d, is_8021x is %d",
+ DRIVER_PREFIX, __func__, pnetwork->BcnInfo.pairwise_cipher,
+ pnetwork->BcnInfo.group_cipher, pnetwork->BcnInfo.is_8021x);
ret = _SUCCESS;
}
}
@@ -1189,10 +1221,10 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork)
pnetwork->BcnInfo.encryp_protocol = ENCRYP_PROTOCOL_OPENSYS;
}
rtw_get_sec_ie(pnetwork->network.IEs, pnetwork->network.IELength, NULL, &rsn_len, NULL, &wpa_len);
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: ssid =%s\n", pnetwork->network.Ssid.Ssid));
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: wpa_len =%d rsn_len =%d\n", wpa_len, rsn_len));
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: ssid =%s\n", pnetwork->network.Ssid.Ssid));
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: wpa_len =%d rsn_len =%d\n", wpa_len, rsn_len));
+ pr_info("%s %s: ssid =%s\n", DRIVER_PREFIX, __func__, pnetwork->network.Ssid.Ssid);
+ pr_info("%s %s: wpa_len =%d rsn_len =%d\n", DRIVER_PREFIX, __func__, wpa_len, rsn_len);
+ pr_info("%s %s: ssid =%s\n", DRIVER_PREFIX, __func__, pnetwork->network.Ssid.Ssid);
+ pr_info("%s %s: wpa_len =%d rsn_len =%d\n", DRIVER_PREFIX, __func__, wpa_len, rsn_len);
if (rsn_len > 0) {
pnetwork->BcnInfo.encryp_protocol = ENCRYP_PROTOCOL_WPA2;
@@ -1202,10 +1234,10 @@ void rtw_get_bcn_info(struct wlan_network *pnetwork)
if (bencrypt)
pnetwork->BcnInfo.encryp_protocol = ENCRYP_PROTOCOL_WEP;
}
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: pnetwork->encryp_protocol is %x\n",
- pnetwork->BcnInfo.encryp_protocol));
- RT_TRACE(_module_rtl871x_mlme_c_, _drv_info_, ("rtw_get_bcn_info: pnetwork->encryp_protocol is %x\n",
- pnetwork->BcnInfo.encryp_protocol));
+ pr_info("%s %s: pnetwork->encryp_protocol is %x\n",
+ DRIVER_PREFIX, __func__, pnetwork->BcnInfo.encryp_protocol);
+ pr_info("%s %s: pnetwork->encryp_protocol is %x\n",
+ DRIVER_PREFIX, __func__, pnetwork->BcnInfo.encryp_protocol);
rtw_get_cipher_info(pnetwork);
/* get bwmode and ch_offset */
--
2.20.1
next prev parent reply other threads:[~2021-03-31 9:41 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-03-31 9:39 [PATCH 00/40] staging: rtl8723bs: replace RT_TRACE private macro Fabio Aiuto
2021-03-31 9:39 ` [PATCH 01/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_xmit.c Fabio Aiuto
2021-03-31 10:16 ` Dan Carpenter
2021-03-31 9:39 ` [PATCH 02/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_security.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 03/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_eeprom.c Fabio Aiuto
2021-03-31 10:27 ` Greg KH
2021-03-31 10:36 ` Fabio Aiuto
2021-03-31 10:48 ` Greg KH
2021-03-31 12:19 ` Fabio Aiuto
2021-03-31 10:55 ` Fabio Aiuto
2021-03-31 11:14 ` Greg KH
2021-03-31 12:17 ` Fabio Aiuto
2021-04-01 9:10 ` Fabio Aiuto
2021-03-31 9:39 ` [PATCH 04/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_pwrctrl.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 05/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_cmd.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 06/40] staging: rtl8723bs: remove commented RT_TRACE calls in core/rtw_mlme.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 07/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers " Fabio Aiuto
2021-03-31 9:39 ` [PATCH 08/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_mlme_ext.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 09/40] staging: rtl8723bs: remove commented RT_TRACE calls in core/rtw_recv.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 10/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers " Fabio Aiuto
2021-03-31 9:39 ` [PATCH 11/40] staging: rtl8723bs: remove commented RT_TRACE call in core/rtw_ioctl_set.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 12/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers " Fabio Aiuto
2021-03-31 9:39 ` [PATCH 13/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_wlan_util.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 14/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in core/rtw_sta_mgt.c Fabio Aiuto
2021-03-31 9:39 ` Fabio Aiuto [this message]
2021-03-31 9:39 ` [PATCH 16/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in hal/HalPwrSeqCmd.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 17/40] staging: rtl8723bs: fix constant name in hal/rtl8723b_hal_init.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 18/40] staging: rtl8723bs: added driver prefix in log messages Fabio Aiuto
2021-03-31 9:39 ` [PATCH 19/40] staging: rtl8723bs: remove commented RT_TRACE call in hal/rtl8723b_hal_init.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 20/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers " Fabio Aiuto
2021-03-31 9:39 ` [PATCH 21/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in hal/sdio_ops.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 22/40] staging: rtl8723bs: remove commented code block in hal/hal_com_phycfg.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 23/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in hal/rtl8723b_phycfg.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 24/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in hal/hal_intf.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 25/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in hal/rtl8723bs_xmit.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 26/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in hal/sdio_halinit.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 27/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in hal/rtl8723bs_recv.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 28/40] staging: rtl8723bs: remove commented RT_TRACE calls in hal/HalPhyRf_8723B.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 29/40] staging: rtl8723bs: remove commented RT_TRACE calls in hal/rtl8723b_rf6052.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 30/40] staging: rtl8723bs: remove commented RT_TRACE calls in os_dep/ioctl_linux.c Fabio Aiuto
2021-03-31 9:39 ` [PATCH 31/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers " Fabio Aiuto
2021-03-31 9:40 ` [PATCH 32/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in os_dep/mlme_linux.c Fabio Aiuto
2021-03-31 9:40 ` [PATCH 33/40] staging: rtl8723bs: fix string format in os_dep/ioctl_cfg80211.c Fabio Aiuto
2021-03-31 9:40 ` [PATCH 34/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers " Fabio Aiuto
2021-03-31 9:40 ` [PATCH 35/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in os_dep/os_intfs.c Fabio Aiuto
2021-03-31 9:40 ` [PATCH 36/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in os_dep/recv_linux.c Fabio Aiuto
2021-03-31 9:40 ` [PATCH 37/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in os_dep/sdio_intf.c Fabio Aiuto
2021-03-31 9:40 ` [PATCH 38/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in os_dep/xmit_linux.c Fabio Aiuto
2021-03-31 9:40 ` [PATCH 39/40] staging: rtl8723bs: replace RT_TRACE with public printk wrappers in os_dep/osdep_service.c Fabio Aiuto
2021-03-31 9:40 ` [PATCH 40/40] staging: rtl8723bs: remove obsolete debug macro Fabio Aiuto
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=f47ab96ce6c828c58bfca8ffb895a33f6071e4d4.1617183374.git.fabioaiuto83@gmail.com \
--to=fabioaiuto83@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=joe@perches.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).