linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] staging: vt6656: s_nsBulkInUsbIoCompleteRead check that used sk_buff is clean and ready to reuse.
@ 2014-07-06 22:19 Malcolm Priestley
  2014-07-06 22:19 ` [PATCH 2/3] staging: vt6656: vnt_set_keymode don't save pairwise key entry Malcolm Priestley
  2014-07-06 22:19 ` [PATCH 3/3] staging: vt6656: vnt_update_ifs vendor changes to uSIFS/uDIFS Malcolm Priestley
  0 siblings, 2 replies; 3+ messages in thread
From: Malcolm Priestley @ 2014-07-06 22:19 UTC (permalink / raw)
  To: gregkh; +Cc: linux-wireless, Malcolm Priestley

skb_push the headroom and trimmed back to 0

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
---
applies after patch staging: vt6656: Include re_alloc_skb within lock

 drivers/staging/vt6656/usbpipe.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/staging/vt6656/usbpipe.c b/drivers/staging/vt6656/usbpipe.c
index c8b0ed5..dd031bb 100644
--- a/drivers/staging/vt6656/usbpipe.c
+++ b/drivers/staging/vt6656/usbpipe.c
@@ -303,6 +303,9 @@ static void s_nsBulkInUsbIoCompleteRead(struct urb *urb)
 				spin_unlock_irqrestore(&priv->lock, flags);
 				return;
 			}
+		} else {
+			skb_push(rcb->skb, skb_headroom(rcb->skb));
+			skb_trim(rcb->skb, 0);
 		}
 
 		urb->transfer_buffer = skb_put(rcb->skb,
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 2/3] staging: vt6656: vnt_set_keymode don't save pairwise key entry.
  2014-07-06 22:19 [PATCH 1/3] staging: vt6656: s_nsBulkInUsbIoCompleteRead check that used sk_buff is clean and ready to reuse Malcolm Priestley
@ 2014-07-06 22:19 ` Malcolm Priestley
  2014-07-06 22:19 ` [PATCH 3/3] staging: vt6656: vnt_update_ifs vendor changes to uSIFS/uDIFS Malcolm Priestley
  1 sibling, 0 replies; 3+ messages in thread
From: Malcolm Priestley @ 2014-07-06 22:19 UTC (permalink / raw)
  To: gregkh; +Cc: linux-wireless, Malcolm Priestley

The device refuses to associate to older access points even though in
the logs it appears to be associated in tkip or ccmp mode. 

Clear bit from key_entry_inuse in pairwise key so the entry is over written
by group address.

This doesn't seem to make any difference to newer access points and
is a temporary fix until a better solution is found.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
---
 drivers/staging/vt6656/key.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/staging/vt6656/key.c b/drivers/staging/vt6656/key.c
index a7c7a2d..7275f09 100644
--- a/drivers/staging/vt6656/key.c
+++ b/drivers/staging/vt6656/key.c
@@ -98,6 +98,8 @@ static int vnt_set_keymode(struct ieee80211_hw *hw, u8 *mac_addr,
 	case  VNT_KEY_PAIRWISE:
 		key_mode |= mode;
 		key_inx = 4;
+		/* Don't save entry for pairwise key */
+		clear_bit(entry, &priv->key_entry_inuse);
 		break;
 	default:
 		return -EINVAL;
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH 3/3] staging: vt6656: vnt_update_ifs vendor changes to uSIFS/uDIFS
  2014-07-06 22:19 [PATCH 1/3] staging: vt6656: s_nsBulkInUsbIoCompleteRead check that used sk_buff is clean and ready to reuse Malcolm Priestley
  2014-07-06 22:19 ` [PATCH 2/3] staging: vt6656: vnt_set_keymode don't save pairwise key entry Malcolm Priestley
@ 2014-07-06 22:19 ` Malcolm Priestley
  1 sibling, 0 replies; 3+ messages in thread
From: Malcolm Priestley @ 2014-07-06 22:19 UTC (permalink / raw)
  To: gregkh; +Cc: linux-wireless, Malcolm Priestley

The latest vendor code makes changes to uSIFS and uDIFS.

The orginal codes have been rearranged into a fall through switch
statement.

These reduce the time that device allows to TX packets and
improves throughput.

Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com>
---
 drivers/staging/vt6656/card.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/drivers/staging/vt6656/card.c b/drivers/staging/vt6656/card.c
index a5f8df1..ea06b63 100644
--- a/drivers/staging/vt6656/card.c
+++ b/drivers/staging/vt6656/card.c
@@ -408,6 +408,36 @@ void vnt_update_ifs(struct vnt_private *priv)
 	priv->uCwMax = C_CWMAX;
 	priv->uEIFS = C_EIFS;
 
+	switch (priv->byRFType) {
+	case RF_VT3226D0:
+		if (priv->byBBType != BB_TYPE_11B) {
+			priv->uSIFS -= 1;
+			priv->uDIFS -= 1;
+			break;
+		}
+	case RF_AIROHA7230:
+	case RF_AL2230:
+	case RF_AL2230S:
+		if (priv->byBBType != BB_TYPE_11B)
+			break;
+	case RF_RFMD2959:
+	case RF_VT3226:
+	case RF_VT3342A0:
+		priv->uSIFS -= 3;
+		priv->uDIFS -= 3;
+		break;
+	case RF_MAXIM2829:
+		if (priv->byBBType == BB_TYPE_11A) {
+			priv->uSIFS -= 5;
+			priv->uDIFS -= 5;
+		} else {
+			priv->uSIFS -= 2;
+			priv->uDIFS -= 2;
+		}
+
+		break;
+	}
+
 	data[0] = (u8)priv->uSIFS;
 	data[1] = (u8)priv->uDIFS;
 	data[2] = (u8)priv->uEIFS;
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2014-07-06 22:20 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-06 22:19 [PATCH 1/3] staging: vt6656: s_nsBulkInUsbIoCompleteRead check that used sk_buff is clean and ready to reuse Malcolm Priestley
2014-07-06 22:19 ` [PATCH 2/3] staging: vt6656: vnt_set_keymode don't save pairwise key entry Malcolm Priestley
2014-07-06 22:19 ` [PATCH 3/3] staging: vt6656: vnt_update_ifs vendor changes to uSIFS/uDIFS Malcolm Priestley

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).