staging: vt6656: Convert remaining locks to spin_lock_irqsave.
Convert all remaining locks to spin_lock_irqsave and spin_unlock_irqrestore Signed-off-by: Malcolm Priestley <tvboxspy@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
588079342e
commit
0b596b2a70
3 changed files with 18 additions and 9 deletions
|
@ -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)
|
||||||
|
|
||||||
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 */
|
||||||
-*/
|
-*/
|
||||||
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,
|
||||||
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,
|
||||||
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,
|
||||||
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,
|
||||||
|
|
||||||
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,
|
||||||
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,
|
||||||
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");
|
||||||
|
|
Loading…
Add table
Reference in a new issue