@@ -58,7 +58,6 @@ MODULE_PARM_DESC(sync_start, "On by Default: Driver load will not complete "
58
58
"until the card startup has completed." );
59
59
60
60
static DEFINE_IDA (rsxx_disk_ida );
61
- static DEFINE_SPINLOCK (rsxx_ida_lock );
62
61
63
62
/* --------------------Debugfs Setup ------------------- */
64
63
@@ -823,19 +822,10 @@ static int rsxx_pci_probe(struct pci_dev *dev,
823
822
card -> dev = dev ;
824
823
pci_set_drvdata (dev , card );
825
824
826
- do {
827
- if (!ida_pre_get (& rsxx_disk_ida , GFP_KERNEL )) {
828
- st = - ENOMEM ;
829
- goto failed_ida_get ;
830
- }
831
-
832
- spin_lock (& rsxx_ida_lock );
833
- st = ida_get_new (& rsxx_disk_ida , & card -> disk_id );
834
- spin_unlock (& rsxx_ida_lock );
835
- } while (st == - EAGAIN );
836
-
837
- if (st )
825
+ st = ida_simple_get (& rsxx_disk_ida , 0 , 0 , GFP_KERNEL );
826
+ if (st < 0 )
838
827
goto failed_ida_get ;
828
+ card -> disk_id = st ;
839
829
840
830
st = pci_enable_device (dev );
841
831
if (st )
@@ -1036,9 +1026,7 @@ static int rsxx_pci_probe(struct pci_dev *dev,
1036
1026
failed_dma_mask :
1037
1027
pci_disable_device (dev );
1038
1028
failed_enable :
1039
- spin_lock (& rsxx_ida_lock );
1040
- ida_remove (& rsxx_disk_ida , card -> disk_id );
1041
- spin_unlock (& rsxx_ida_lock );
1029
+ ida_simple_remove (& rsxx_disk_ida , card -> disk_id );
1042
1030
failed_ida_get :
1043
1031
kfree (card );
1044
1032
0 commit comments