use mutex instead of binary semaphore in idt77252 driver
PATCH 1/1 use mutex instead of binary semaphore in idt77252 driver
use mutex instead of binary semaphore in idt77252 driver
Signed-off-by Matthias Kaehlcke <[email protected]>
--
drivers/atm/idt77252.c +12 -12
@@ -2430,7 +2430,7 @@ idt77252_open(struct atm_vcc *vcc)set_bit (ATM_VF_ADDR , &vcc->flags); -down (&card->mutex); +mutex_lock (&card->mutex);OPRINTK ("%s: opening vpi.vci: %d.%d\n" , card->name, vpi, vci);
@@ -2441,7 +2441,7 @@ idt77252_open(struct atm_vcc *vcc)break ;default :printk ("%s: Unsupported AAL: %d\n" , card->name, vcc->qos.aal); -up (&card->mutex); +mutex_unlock (&card->mutex);return -EPROTONOSUPPORT ; }
@@ -2450,7 +2450,7 @@ idt77252_open(struct atm_vcc *vcc) card->vcs[index] =kzalloc (sizeof (struct vc_map ),GFP_KERNEL );if (!card->vcs[index]) {printk ("%s: can't alloc vc in open()\n" , card->name); -up (&card->mutex); +mutex_unlock (&card->mutex);return -ENOMEM ; } card->vcs[index]->card = card;
@@ -2479,14 +2479,14 @@ idt77252_open(struct atm_vcc *vcc)if (inuse) {printk ("%s: %s vci already in use.\n" , card->name, inuse ==1 ?"tx" : inuse ==2 ?"rx" :"tx and rx" ); -up (&card->mutex); +mutex_unlock (&card->mutex);return -EADDRINUSE ; }if (vcc->qos.txtp.traffic_class !=ATM_NONE ) { error =idt77252_init_tx (card, vc, vcc, &vcc->qos);if (error) { -up (&card->mutex); +mutex_unlock (&card->mutex);return error; } }
@@ -2494,14 +2494,14 @@ idt77252_open(struct atm_vcc *vcc)if (vcc->qos.rxtp.traffic_class !=ATM_NONE ) { error =idt77252_init_rx (card, vc, vcc, &vcc->qos);if (error) { -up (&card->mutex); +mutex_unlock (&card->mutex);return error; } }set_bit (ATM_VF_READY , &vcc->flags); -up (&card->mutex); +mutex_unlock (&card->mutex);return 0 ; }
@@ -2515,7 +2515,7 @@ idt77252_close(struct atm_vcc *vcc)unsigned long addr;unsigned long timeout; -down (&card->mutex); +mutex_lock (&card->mutex);IPRINTK ("%s: idt77252_close: vc = %d (%d.%d)\n" , card->name, vc->index, vcc->vpi, vcc->vci);
@@ -2586,7 +2586,7 @@ done:free_scq (card, vc->scq); } -up (&card->mutex); +mutex_unlock (&card->mutex); } static int
@@ -2597,7 +2597,7 @@ idt77252_change_qos(struct atm_vcc *vcc, struct atm_qos *qos, int flags)struct vc_map *vc = vcc->dev_data;int error =0 ; -down (&card->mutex); +mutex_lock (&card->mutex);if (qos->txtp.traffic_class !=ATM_NONE ) {if (!test_bit (VCF_TX , &vc->flags)) {
@@ -2643,7 +2643,7 @@ idt77252_change_qos(struct atm_vcc *vcc, struct atm_qos *qos, int flags)set_bit (ATM_VF_HASQOS , &vcc->flags); out: -up (&card->mutex); +mutex_unlock (&card->mutex);return error; }
@@ -3703,7 +3703,7 @@ idt77252_init_one(struct pci_dev *pcidev, const struct pci_device_id *id) membase =pci_resource_start (pcidev,1 ); srambase =pci_resource_start (pcidev,2 ); -init_MUTEX (&card->mutex); +mutex_init (&card->mutex);spin_lock_init (&card->cmd_lock);spin_lock_init (&card->tst_lock);
drivers/atm/idt77252.h +1 -1
@@ -359,7 +359,7 @@ struct idt77252_devunsigned long srambase;/* SAR's sram base address */ void __iomem *fbq[4 ];/* FBQ fill addresses */ -struct semaphore mutex; +struct mutex mutex;spinlock_t cmd_lock;/* for r/w utility/sram */ unsigned long softstat;
Signature · 10 lines
Matthias Kaehlcke
Linux Application Developer
Barcelona
An ounce of practice is worth more than tons of preaching
(Mahatma Gandhi)
.''`.
using free software / Debian GNU/Linux | http://debian.org : :' :
`. `'`
gpg --keyserver pgp.mit.edu --recv-keys 47D8E5D4 `-