From: Malcolm Priestley <tvboxspy@gmail.com>
To: gregkh@linuxfoundation.org
Cc: linux-wireless@vger.kernel.org, forest@alittletooquiet.net,
Malcolm Priestley <tvboxspy@gmail.com>
Subject: [PATCH v2 28/48] staging: vt6655: dead code remove wctl.c/h
Date: Wed, 29 Oct 2014 17:55:46 +0000 [thread overview]
Message-ID: <1414605366-9335-29-git-send-email-tvboxspy@gmail.com> (raw)
In-Reply-To: <1414605366-9335-1-git-send-email-tvboxspy@gmail.com>
Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
---
drivers/staging/vt6655/Makefile | 1 -
drivers/staging/vt6655/device_main.c | 1 -
drivers/staging/vt6655/rxtx.c | 1 -
drivers/staging/vt6655/wctl.c | 233 -----------------------------------
drivers/staging/vt6655/wctl.h | 105 ----------------
5 files changed, 341 deletions(-)
delete mode 100644 drivers/staging/vt6655/wctl.c
delete mode 100644 drivers/staging/vt6655/wctl.h
diff --git a/drivers/staging/vt6655/Makefile b/drivers/staging/vt6655/Makefile
index 5f3c019..115b951 100644
--- a/drivers/staging/vt6655/Makefile
+++ b/drivers/staging/vt6655/Makefile
@@ -7,7 +7,6 @@ vt6655_stage-y += device_main.o \
channel.o \
mac.o \
baseband.o \
- wctl.o \
rxtx.o \
dpc.o \
power.o \
diff --git a/drivers/staging/vt6655/device_main.c b/drivers/staging/vt6655/device_main.c
index 2c2f42f..1111d1e 100644
--- a/drivers/staging/vt6655/device_main.c
+++ b/drivers/staging/vt6655/device_main.c
@@ -60,7 +60,6 @@
#include "mac.h"
#include "tether.h"
#include "wmgr.h"
-#include "wctl.h"
#include "power.h"
#include "wcmd.h"
#include "iocmd.h"
diff --git a/drivers/staging/vt6655/rxtx.c b/drivers/staging/vt6655/rxtx.c
index b8ff8c6..00ae6de 100644
--- a/drivers/staging/vt6655/rxtx.c
+++ b/drivers/staging/vt6655/rxtx.c
@@ -55,7 +55,6 @@
#include "bssdb.h"
#include "mac.h"
#include "baseband.h"
-#include "wctl.h"
#include "rf.h"
/*--------------------- Static Definitions -------------------------*/
diff --git a/drivers/staging/vt6655/wctl.c b/drivers/staging/vt6655/wctl.c
deleted file mode 100644
index 5a54d98..0000000
--- a/drivers/staging/vt6655/wctl.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * File: wctl.c
- *
- * Purpose: handle WMAC duplicate filter & defragment
- *
- * Author: Jerry Chen
- *
- * Date: Jun. 27, 2002
- *
- * Functions:
- * WCTLbIsDuplicate - Test if duplicate packet
- * WCTLuSearchDFCB - Search DeFragment Control Database
- * WCTLuInsertDFCB - Insert DeFragment Control Database
- * WCTLbHandleFragment - Handle received fragment packet
- *
- * Revision History:
- *
- */
-
-#include "wctl.h"
-#include "device.h"
-#include "card.h"
-
-/*--------------------- Static Definitions -------------------------*/
-
-/*--------------------- Static Classes ----------------------------*/
-
-/*--------------------- Static Variables --------------------------*/
-
-/*--------------------- Static Functions --------------------------*/
-
-/*--------------------- Export Variables --------------------------*/
-
-/*
- * Description:
- * Scan Rx cache. Return true if packet is duplicate, else
- * inserts in receive cache and returns false.
- *
- * Parameters:
- * In:
- * pCache - Receive packets history
- * pMACHeader - 802.11 MAC Header of received packet
- * Out:
- * none
- *
- * Return Value: true if packet duplicate; otherwise false
- *
- */
-
-bool WCTLbIsDuplicate(PSCache pCache, PS802_11Header pMACHeader)
-{
- unsigned int uIndex;
- unsigned int ii;
- PSCacheEntry pCacheEntry;
-
- if (IS_FC_RETRY(pMACHeader)) {
- uIndex = pCache->uInPtr;
- for (ii = 0; ii < DUPLICATE_RX_CACHE_LENGTH; ii++) {
- pCacheEntry = &(pCache->asCacheEntry[uIndex]);
- if ((pCacheEntry->wFmSequence == pMACHeader->wSeqCtl) &&
- ether_addr_equal(pCacheEntry->abyAddr2,
- pMACHeader->abyAddr2)) {
- /* Duplicate match */
- return true;
- }
- ADD_ONE_WITH_WRAP_AROUND(uIndex, DUPLICATE_RX_CACHE_LENGTH);
- }
- }
- /* Not fount in cache - insert */
- pCacheEntry = &pCache->asCacheEntry[pCache->uInPtr];
- pCacheEntry->wFmSequence = pMACHeader->wSeqCtl;
- memcpy(&(pCacheEntry->abyAddr2[0]), &(pMACHeader->abyAddr2[0]), ETH_ALEN);
- ADD_ONE_WITH_WRAP_AROUND(pCache->uInPtr, DUPLICATE_RX_CACHE_LENGTH);
- return false;
-}
-
-/*
- * Description:
- * Found if sequence number of received fragment packet in Defragment Database
- *
- * Parameters:
- * In:
- * pDevice - Pointer to adapter
- * pMACHeader - 802.11 MAC Header of received packet
- * Out:
- * none
- *
- * Return Value: index number in Defragment Database
- *
- */
-unsigned int WCTLuSearchDFCB(struct vnt_private *pDevice,
- PS802_11Header pMACHeader)
-{
- unsigned int ii;
-
- for (ii = 0; ii < pDevice->cbDFCB; ii++) {
- if (pDevice->sRxDFCB[ii].bInUse &&
- ether_addr_equal(pDevice->sRxDFCB[ii].abyAddr2,
- pMACHeader->abyAddr2)) {
- return ii;
- }
- }
- return pDevice->cbDFCB;
-}
-
-/*
- * Description:
- * Insert received fragment packet in Defragment Database
- *
- * Parameters:
- * In:
- * pDevice - Pointer to adapter
- * pMACHeader - 802.11 MAC Header of received packet
- * Out:
- * none
- *
- * Return Value: index number in Defragment Database
- *
- */
-unsigned int WCTLuInsertDFCB(struct vnt_private *pDevice, PS802_11Header pMACHeader)
-{
- unsigned int ii;
-
- if (pDevice->cbFreeDFCB == 0)
- return pDevice->cbDFCB;
- for (ii = 0; ii < pDevice->cbDFCB; ii++) {
- if (!pDevice->sRxDFCB[ii].bInUse) {
- pDevice->cbFreeDFCB--;
- pDevice->sRxDFCB[ii].uLifetime = pDevice->dwMaxReceiveLifetime;
- pDevice->sRxDFCB[ii].bInUse = true;
- pDevice->sRxDFCB[ii].wSequence = (pMACHeader->wSeqCtl >> 4);
- pDevice->sRxDFCB[ii].wFragNum = (pMACHeader->wSeqCtl & 0x000F);
- memcpy(&(pDevice->sRxDFCB[ii].abyAddr2[0]), &(pMACHeader->abyAddr2[0]), ETH_ALEN);
- return ii;
- }
- }
- return pDevice->cbDFCB;
-}
-
-/*
- * Description:
- * Handle received fragment packet
- *
- * Parameters:
- * In:
- * pDevice - Pointer to adapter
- * pMACHeader - 802.11 MAC Header of received packet
- * cbFrameLength - Frame length
- * bWEP - is WEP packet
- * Out:
- * none
- *
- * Return Value: true if it is valid fragment packet and we have resource to defragment; otherwise false
- *
- */
-bool WCTLbHandleFragment(struct vnt_private *pDevice, PS802_11Header pMACHeader,
- unsigned int cbFrameLength, bool bWEP, bool bExtIV)
-{
- unsigned int uHeaderSize;
-
- if (bWEP) {
- uHeaderSize = 28;
- if (bExtIV)
- // ExtIV
- uHeaderSize += 4;
- } else {
- uHeaderSize = 24;
- }
-
- if (IS_FIRST_FRAGMENT_PKT(pMACHeader)) {
- pDevice->uCurrentDFCBIdx = WCTLuSearchDFCB(pDevice, pMACHeader);
- if (pDevice->uCurrentDFCBIdx < pDevice->cbDFCB) {
- // duplicate, we must flush previous DCB
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].uLifetime = pDevice->dwMaxReceiveLifetime;
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].wSequence = (pMACHeader->wSeqCtl >> 4);
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].wFragNum = (pMACHeader->wSeqCtl & 0x000F);
- } else {
- pDevice->uCurrentDFCBIdx = WCTLuInsertDFCB(pDevice, pMACHeader);
- if (pDevice->uCurrentDFCBIdx == pDevice->cbDFCB)
- return false;
- }
- // reserve 4 byte to match MAC RX Buffer
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].pbyRxBuffer = (unsigned char *)(pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].skb->data + 4);
- memcpy(pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].pbyRxBuffer, pMACHeader, cbFrameLength);
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].cbFrameLength = cbFrameLength;
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].pbyRxBuffer += cbFrameLength;
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].wFragNum++;
- return false;
- } else {
- pDevice->uCurrentDFCBIdx = WCTLuSearchDFCB(pDevice, pMACHeader);
- if (pDevice->uCurrentDFCBIdx != pDevice->cbDFCB) {
- if ((pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].wSequence == (pMACHeader->wSeqCtl >> 4)) &&
- (pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].wFragNum == (pMACHeader->wSeqCtl & 0x000F)) &&
- ((pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].cbFrameLength + cbFrameLength - uHeaderSize) < 2346)) {
- memcpy(pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].pbyRxBuffer, ((unsigned char *)(pMACHeader) + uHeaderSize), (cbFrameLength - uHeaderSize));
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].cbFrameLength += (cbFrameLength - uHeaderSize);
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].pbyRxBuffer += (cbFrameLength - uHeaderSize);
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].wFragNum++;
- } else {
- // seq error or frag # error flush DFCB
- pDevice->cbFreeDFCB++;
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].bInUse = false;
- return false;
- }
- } else {
- return false;
- }
- if (IS_LAST_FRAGMENT_PKT(pMACHeader)) {
- //enq defragcontrolblock
- pDevice->cbFreeDFCB++;
- pDevice->sRxDFCB[pDevice->uCurrentDFCBIdx].bInUse = false;
- return true;
- }
- return false;
- }
-}
diff --git a/drivers/staging/vt6655/wctl.h b/drivers/staging/vt6655/wctl.h
deleted file mode 100644
index f0995d8..0000000
--- a/drivers/staging/vt6655/wctl.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1996, 2003 VIA Networking Technologies, Inc.
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * File: wctl.h
- *
- * Purpose:
- *
- * Author: Jerry Chen
- *
- * Date: Jun. 27, 2002
- *
- */
-
-#ifndef __WCTL_H__
-#define __WCTL_H__
-
-#include "ttype.h"
-#include "tether.h"
-#include "device.h"
-
-/*--------------------- Export Definitions -------------------------*/
-
-#define IS_TYPE_DATA(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & TYPE_802_11_MASK) == TYPE_802_11_DATA)
-
-#define IS_TYPE_MGMT(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & TYPE_802_11_MASK) == TYPE_802_11_MGMT)
-
-#define IS_TYPE_CONTROL(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & TYPE_802_11_MASK) == TYPE_802_11_CTL)
-
-#define IS_FC_MOREDATA(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & FC_MOREDATA) == FC_MOREDATA)
-
-#define IS_FC_POWERMGT(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & FC_POWERMGT) == FC_POWERMGT)
-
-#define IS_FC_RETRY(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & FC_RETRY) == FC_RETRY)
-
-#define IS_FC_WEP(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & FC_WEP) == FC_WEP)
-
-#ifdef __BIG_ENDIAN
-
-#define IS_FRAGMENT_PKT(pMACHeader) \
- (((((PS802_11Header) pMACHeader)->wFrameCtl & FC_MOREFRAG) != 0) | \
- ((((PS802_11Header) pMACHeader)->wSeqCtl & 0x0F00) != 0))
-
-#define IS_FIRST_FRAGMENT_PKT(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wSeqCtl & 0x0F00) == 0)
-
-#else
-
-#define IS_FRAGMENT_PKT(pMACHeader) \
- (((((PS802_11Header) pMACHeader)->wFrameCtl & FC_MOREFRAG) != 0) | \
- ((((PS802_11Header) pMACHeader)->wSeqCtl & 0x000F) != 0))
-
-#define IS_FIRST_FRAGMENT_PKT(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wSeqCtl & 0x000F) == 0)
-
-#endif//#ifdef __BIG_ENDIAN
-
-#define IS_LAST_FRAGMENT_PKT(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & FC_MOREFRAG) == 0)
-
-#define IS_CTL_PSPOLL(pMACHeader) \
- ((((PS802_11Header) pMACHeader)->wFrameCtl & TYPE_SUBTYPE_MASK) == TYPE_CTL_PSPOLL)
-
-#define ADD_ONE_WITH_WRAP_AROUND(uVar, uModulo) \
-do { \
- if ((uVar) >= ((uModulo) - 1)) \
- (uVar) = 0; \
- else \
- (uVar)++; \
-} while (0)
-
-/*--------------------- Export Classes ----------------------------*/
-
-/*--------------------- Export Variables --------------------------*/
-
-/*--------------------- Export Functions --------------------------*/
-
-bool WCTLbIsDuplicate(PSCache pCache, PS802_11Header pMACHeader);
-bool WCTLbHandleFragment(struct vnt_private *, PS802_11Header pMACHeader,
- unsigned int cbFrameLength, bool bWEP, bool bExtIV);
-unsigned int WCTLuSearchDFCB(struct vnt_private *, PS802_11Header pMACHeader);
-unsigned int WCTLuInsertDFCB(struct vnt_private *, PS802_11Header pMACHeader);
-
-#endif // __WCTL_H__
--
2.1.0
next prev parent reply other threads:[~2014-10-29 17:57 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-29 17:55 [PATCH v2 00/48] staging: vt6655: remove dead code Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 01/48] staging: vt6655: deadcode remove zone file operations and vntconfiguration.dat Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 02/48] staging: vt6655: dead code remove zones and channel table elements Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 03/48] staging: vt6655: dead code remove net device code Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 04/48] staging: vt6655: dead code remove iwctl.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 05/48] staging: vt6655: dead code remove ioctl.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 06/48] staging: vt6655: dead code remove legacy hostap.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 07/48] staging: vt6655: dead code remove wpactl.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 08/48] staging: vt6655: dpc.c/h remove dead functions Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 09/48] staging: vt6655: remove dead functions in power.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 10/48] staging: vt6655: dead code remove wmgr.c Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 11/48] staging: vt6655: dead code remove wcmd.c Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 12/48] staging: vt6655: rxtx remove dead functions Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 13/48] staging: vt6655: s_cbFillTxBufHead remove unused parameters Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 14/48] staging: vt6655: dead code remove bssdb.c Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 15/48] staging: vt6655: dead code datarate.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 16/48] staging: vt6655: dead code remove IEEE11.h.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 17/48] staging: vt6655: card.c/h remove dead functions Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 18/48] staging: vt6655: deadcode remove wroute.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 19/48] staging: vt6655: dead code remove wpa/wpa2 Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 20/48] staging: vt6655: deadcode remove aes_ccmp/rc4/tkip Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 21/48] staging: vt6655: dead code remove michael.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 22/48] staging: vt6655: dead code remove vntwifi.c functions Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 23/48] staging: vt6655: key.c remove dead functions Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 24/48] staging: vt6655: mib remove unused functions and structure members Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 25/48] staging: vt6655L remove tether.c functions Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 26/48] staging: vt6655: dead code remove tcrc.c/h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 27/48] staging: vt6655: dead code remove 80211mgr.c and functions Malcolm Priestley
2014-10-29 17:55 ` Malcolm Priestley [this message]
2014-10-29 17:55 ` [PATCH v2 29/48] staging: vt6655: channel.c remove dead functions Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 30/48] staging: vt6655: move all RATE_* macros to device.h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 31/48] staging: vt6655: dead code remove vntwifi.h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 32/48] staging: vt6655: wmgr.h remove management structures Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 33/48] staging: vt6655: dead code remove ndis and pmkid strutures Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 34/48] staging: vt6655: dead remove wcmd.h and typedefs Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 35/48] staging: vt6655: dead code remove bssdb.h header Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 36/48] staging: vt6655: dead code remove tether.h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 37/48] staging: vt6655: dead code remove 80211mgr.h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 38/48] staging: vt6655: dead code remove iowpa.h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 39/48] staging: vt6655: dead code remove iocmd.h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 40/48] staging: vt6655: dead code remove country.h Malcolm Priestley
2014-10-29 17:55 ` [PATCH v2 41/48] staging: vt6655: struct vnt_private remove dead members Malcolm Priestley
2014-10-29 17:56 ` [PATCH v2 42/48] staging: vt6655: device.h remove dead strutures and macros Malcolm Priestley
2014-10-29 17:56 ` [PATCH v2 43/48] staging: vt6655: dead code remove 80211hdr.h Malcolm Priestley
2014-10-29 17:56 ` [PATCH v2 44/48] staging: vt6655: remove typedef void *TimerFunction Malcolm Priestley
2014-10-29 17:56 ` [PATCH v2 45/48] staging: vt6655: Move LIFETIME RES 64us macros to rxtx.h Malcolm Priestley
2014-10-29 17:56 ` [PATCH v2 46/48] staging: vt6655: move MAKE_BEACON_RESERVED to device.h Malcolm Priestley
2014-10-29 17:56 ` [PATCH v2 47/48] staging: vt6655: dead code remove wmgr.h Malcolm Priestley
2014-10-29 17:56 ` [PATCH v2 48/48] staging: vt6655: dead code remove header type.h Malcolm Priestley
2014-10-29 20:35 ` [PATCH v2 00/48] staging: vt6655: remove dead code Greg KH
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=1414605366-9335-29-git-send-email-tvboxspy@gmail.com \
--to=tvboxspy@gmail.com \
--cc=forest@alittletooquiet.net \
--cc=gregkh@linuxfoundation.org \
--cc=linux-wireless@vger.kernel.org \
/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).