Commit 0b596b2a authored by Malcolm Priestley's avatar Malcolm Priestley Committed by Greg Kroah-Hartman

staging: vt6656: Convert remaining locks to spin_lock_irqsave.

Convert all remaining locks to spin_lock_irqsave and
spin_unlock_irqrestore
Signed-off-by: default avatarMalcolm Priestley <tvboxspy@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 58807934
...@@ -863,13 +863,14 @@ void RXvWorkItem(struct work_struct *work) ...@@ -863,13 +863,14 @@ void RXvWorkItem(struct work_struct *work)
container_of(work, struct vnt_private, read_work_item); container_of(work, struct vnt_private, read_work_item);
int status; int status;
struct vnt_rcb *rcb = NULL; struct vnt_rcb *rcb = NULL;
unsigned long flags;
if (priv->Flags & fMP_DISCONNECTED) if (priv->Flags & fMP_DISCONNECTED)
return; return;
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Rx Polling Thread\n"); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Rx Polling Thread\n");
spin_lock_irq(&priv->lock); spin_lock_irqsave(&priv->lock, flags);
while ((priv->Flags & fMP_POST_READS) && MP_IS_READY(priv) && while ((priv->Flags & fMP_POST_READS) && MP_IS_READY(priv) &&
(priv->NumRecvFreeList != 0)) { (priv->NumRecvFreeList != 0)) {
...@@ -884,7 +885,7 @@ void RXvWorkItem(struct work_struct *work) ...@@ -884,7 +885,7 @@ void RXvWorkItem(struct work_struct *work)
priv->bIsRxWorkItemQueued = false; priv->bIsRxWorkItemQueued = false;
spin_unlock_irq(&priv->lock); spin_unlock_irqrestore(&priv->lock, flags);
} }
void RXvFreeRCB(struct vnt_rcb *rcb, int re_alloc_skb) void RXvFreeRCB(struct vnt_rcb *rcb, int re_alloc_skb)
......
...@@ -65,15 +65,16 @@ static int msglevel = MSG_LEVEL_INFO; /* MSG_LEVEL_DEBUG */ ...@@ -65,15 +65,16 @@ static int msglevel = MSG_LEVEL_INFO; /* MSG_LEVEL_DEBUG */
-*/ -*/
void INTvWorkItem(struct vnt_private *pDevice) void INTvWorkItem(struct vnt_private *pDevice)
{ {
unsigned long flags;
int ntStatus; int ntStatus;
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Interrupt Polling Thread\n"); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO"---->Interrupt Polling Thread\n");
spin_lock_irq(&pDevice->lock); spin_lock_irqsave(&pDevice->lock, flags);
ntStatus = PIPEnsInterruptRead(pDevice); ntStatus = PIPEnsInterruptRead(pDevice);
spin_unlock_irq(&pDevice->lock); spin_unlock_irqrestore(&pDevice->lock, flags);
} }
void INTnsProcessData(struct vnt_private *priv) void INTnsProcessData(struct vnt_private *priv)
......
...@@ -91,6 +91,7 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info, ...@@ -91,6 +91,7 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info,
struct iw_scan_req *req = (struct iw_scan_req *)extra; struct iw_scan_req *req = (struct iw_scan_req *)extra;
u8 abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1]; u8 abyScanSSID[WLAN_IEHDR_LEN + WLAN_SSID_MAXLEN + 1];
PWLAN_IE_SSID pItemSSID = NULL; PWLAN_IE_SSID pItemSSID = NULL;
unsigned long flags;
if (!(pDevice->flags & DEVICE_FLAGS_OPENED)) if (!(pDevice->flags & DEVICE_FLAGS_OPENED))
return -EINVAL; return -EINVAL;
...@@ -115,7 +116,7 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info, ...@@ -115,7 +116,7 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info,
return 0; return 0;
} }
spin_lock_irq(&pDevice->lock); spin_lock_irqsave(&pDevice->lock, flags);
BSSvClearBSSList((void *)pDevice, pDevice->bLinkPass); BSSvClearBSSList((void *)pDevice, pDevice->bLinkPass);
...@@ -136,7 +137,8 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info, ...@@ -136,7 +137,8 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info,
PRINT_K("SIOCSIWSCAN:[desired_ssid=%s,len=%d]\n", ((PWLAN_IE_SSID)abyScanSSID)->abySSID, PRINT_K("SIOCSIWSCAN:[desired_ssid=%s,len=%d]\n", ((PWLAN_IE_SSID)abyScanSSID)->abySSID,
((PWLAN_IE_SSID)abyScanSSID)->len); ((PWLAN_IE_SSID)abyScanSSID)->len);
bScheduleCommand((void *)pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID); bScheduleCommand((void *)pDevice, WLAN_CMD_BSSID_SCAN, abyScanSSID);
spin_unlock_irq(&pDevice->lock);
spin_unlock_irqrestore(&pDevice->lock, flags);
return 0; return 0;
} else if (req->scan_type == IW_SCAN_TYPE_PASSIVE) { // passive scan } else if (req->scan_type == IW_SCAN_TYPE_PASSIVE) { // passive scan
...@@ -148,7 +150,8 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info, ...@@ -148,7 +150,8 @@ int iwctl_siwscan(struct net_device *dev, struct iw_request_info *info,
pMgmt->eScanType = WMAC_SCAN_PASSIVE; pMgmt->eScanType = WMAC_SCAN_PASSIVE;
bScheduleCommand((void *)pDevice, WLAN_CMD_BSSID_SCAN, NULL); bScheduleCommand((void *)pDevice, WLAN_CMD_BSSID_SCAN, NULL);
spin_unlock_irq(&pDevice->lock);
spin_unlock_irqrestore(&pDevice->lock, flags);
return 0; return 0;
} }
...@@ -375,6 +378,7 @@ int iwctl_siwmode(struct net_device *dev, struct iw_request_info *info, ...@@ -375,6 +378,7 @@ int iwctl_siwmode(struct net_device *dev, struct iw_request_info *info,
struct vnt_private *pDevice = netdev_priv(dev); struct vnt_private *pDevice = netdev_priv(dev);
__u32 *wmode = &wrqu->mode; __u32 *wmode = &wrqu->mode;
struct vnt_manager *pMgmt = &pDevice->vnt_mgmt; struct vnt_manager *pMgmt = &pDevice->vnt_mgmt;
unsigned long flags;
int rc = 0; int rc = 0;
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " SIOCSIWMODE\n"); DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO " SIOCSIWMODE\n");
...@@ -415,10 +419,13 @@ int iwctl_siwmode(struct net_device *dev, struct iw_request_info *info, ...@@ -415,10 +419,13 @@ int iwctl_siwmode(struct net_device *dev, struct iw_request_info *info,
if (pDevice->bCommit) { if (pDevice->bCommit) {
if (pMgmt->eConfigMode == WMAC_CONFIG_AP) { if (pMgmt->eConfigMode == WMAC_CONFIG_AP) {
netif_stop_queue(pDevice->dev); netif_stop_queue(pDevice->dev);
spin_lock_irq(&pDevice->lock);
spin_lock_irqsave(&pDevice->lock, flags);
bScheduleCommand((void *) pDevice, bScheduleCommand((void *) pDevice,
WLAN_CMD_RUN_AP, NULL); WLAN_CMD_RUN_AP, NULL);
spin_unlock_irq(&pDevice->lock);
spin_unlock_irqrestore(&pDevice->lock, flags);
} else { } else {
DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO DBG_PRT(MSG_LEVEL_DEBUG, KERN_INFO
"Commit the settings\n"); "Commit the settings\n");
......
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