Commit 748bf69c authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman

staging; vt6656: device_init_registers Change vnt_cmd_card_int and vnt_rsp_card_int to off stack

Move structures to vnt_private and convert to pointers in
device_init_registers.
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ae1e1fe6
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
#include "desc.h" #include "desc.h"
#include "key.h" #include "key.h"
#include "card.h" #include "card.h"
#include "rndis.h"
#define VNT_USB_VENDOR_ID 0x160a #define VNT_USB_VENDOR_ID 0x160a
#define VNT_USB_PRODUCT_ID 0x3184 #define VNT_USB_PRODUCT_ID 0x3184
...@@ -465,6 +466,8 @@ struct vnt_private { ...@@ -465,6 +466,8 @@ struct vnt_private {
u8 byOriginalZonetype; u8 byOriginalZonetype;
int bLinkPass; /* link status: OK or fail */ int bLinkPass; /* link status: OK or fail */
struct vnt_cmd_card_init init_command;
struct vnt_rsp_card_init init_response;
u8 abyCurrentNetAddr[ETH_ALEN]; u8 abyCurrentNetAddr[ETH_ALEN];
u8 abyPermanentNetAddr[ETH_ALEN]; u8 abyPermanentNetAddr[ETH_ALEN];
......
...@@ -67,7 +67,6 @@ ...@@ -67,7 +67,6 @@
#include "datarate.h" #include "datarate.h"
#include "rf.h" #include "rf.h"
#include "firmware.h" #include "firmware.h"
#include "rndis.h"
#include "control.h" #include "control.h"
#include "channel.h" #include "channel.h"
#include "int.h" #include "int.h"
...@@ -299,8 +298,8 @@ static void device_init_diversity_timer(struct vnt_private *pDevice) ...@@ -299,8 +298,8 @@ static void device_init_diversity_timer(struct vnt_private *pDevice)
static int device_init_registers(struct vnt_private *pDevice) static int device_init_registers(struct vnt_private *pDevice)
{ {
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt; struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
struct vnt_cmd_card_init init_cmd; struct vnt_cmd_card_init *init_cmd = &pDevice->init_command;
struct vnt_rsp_card_init init_rsp; struct vnt_rsp_card_init *init_rsp = &pDevice->init_response;
u8 abyBroadcastAddr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; u8 abyBroadcastAddr[ETH_ALEN] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff};
u8 abySNAP_RFC1042[ETH_ALEN] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00}; u8 abySNAP_RFC1042[ETH_ALEN] = {0xaa, 0xaa, 0x03, 0x00, 0x00, 0x00};
u8 abySNAP_Bridgetunnel[ETH_ALEN] u8 abySNAP_Bridgetunnel[ETH_ALEN]
...@@ -343,17 +342,17 @@ static int device_init_registers(struct vnt_private *pDevice) ...@@ -343,17 +342,17 @@ static int device_init_registers(struct vnt_private *pDevice)
return false; return false;
} }
init_cmd.init_class = DEVICE_INIT_COLD; init_cmd->init_class = DEVICE_INIT_COLD;
init_cmd.exist_sw_net_addr = (u8) pDevice->bExistSWNetAddr; init_cmd->exist_sw_net_addr = (u8) pDevice->bExistSWNetAddr;
for (ii = 0; ii < 6; ii++) for (ii = 0; ii < 6; ii++)
init_cmd.sw_net_addr[ii] = pDevice->abyCurrentNetAddr[ii]; init_cmd->sw_net_addr[ii] = pDevice->abyCurrentNetAddr[ii];
init_cmd.short_retry_limit = pDevice->byShortRetryLimit; init_cmd->short_retry_limit = pDevice->byShortRetryLimit;
init_cmd.long_retry_limit = pDevice->byLongRetryLimit; init_cmd->long_retry_limit = pDevice->byLongRetryLimit;
/* issue card_init command to device */ /* issue card_init command to device */
ntStatus = CONTROLnsRequestOut(pDevice, ntStatus = CONTROLnsRequestOut(pDevice,
MESSAGE_TYPE_CARDINIT, 0, 0, MESSAGE_TYPE_CARDINIT, 0, 0,
sizeof(struct vnt_cmd_card_init), (u8 *)&init_cmd); sizeof(struct vnt_cmd_card_init), (u8 *)init_cmd);
if ( ntStatus != STATUS_SUCCESS ) { if ( ntStatus != STATUS_SUCCESS ) {
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Issue Card init fail \n"); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO" Issue Card init fail \n");
...@@ -362,7 +361,7 @@ static int device_init_registers(struct vnt_private *pDevice) ...@@ -362,7 +361,7 @@ static int device_init_registers(struct vnt_private *pDevice)
} }
ntStatus = CONTROLnsRequestIn(pDevice, MESSAGE_TYPE_INIT_RSP, 0, 0, ntStatus = CONTROLnsRequestIn(pDevice, MESSAGE_TYPE_INIT_RSP, 0, 0,
sizeof(struct vnt_rsp_card_init), (u8 *)&init_rsp); sizeof(struct vnt_rsp_card_init), (u8 *)init_rsp);
if (ntStatus != STATUS_SUCCESS) { if (ntStatus != STATUS_SUCCESS) {
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO
"Cardinit request in status fail!\n"); "Cardinit request in status fail!\n");
...@@ -519,7 +518,7 @@ static int device_init_registers(struct vnt_private *pDevice) ...@@ -519,7 +518,7 @@ static int device_init_registers(struct vnt_private *pDevice)
pDevice->byMaxChannel = CB_MAX_CHANNEL; pDevice->byMaxChannel = CB_MAX_CHANNEL;
/* get RFType */ /* get RFType */
pDevice->byRFType = init_rsp.rf_type; pDevice->byRFType = init_rsp->rf_type;
if ((pDevice->byRFType & RF_EMU) != 0) { if ((pDevice->byRFType & RF_EMU) != 0) {
/* force change RevID for VT3253 emu */ /* force change RevID for VT3253 emu */
...@@ -570,7 +569,7 @@ static int device_init_registers(struct vnt_private *pDevice) ...@@ -570,7 +569,7 @@ static int device_init_registers(struct vnt_private *pDevice)
CARDbSetMediaChannel(pDevice, pMgmt->uCurrChannel); CARDbSetMediaChannel(pDevice, pMgmt->uCurrChannel);
/* get permanent network address */ /* get permanent network address */
memcpy(pDevice->abyPermanentNetAddr, &init_rsp.net_addr[0], 6); memcpy(pDevice->abyPermanentNetAddr, init_rsp->net_addr, 6);
memcpy(pDevice->abyCurrentNetAddr, memcpy(pDevice->abyCurrentNetAddr,
pDevice->abyPermanentNetAddr, pDevice->abyPermanentNetAddr,
ETH_ALEN); ETH_ALEN);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment