]> Pileus Git - ~andy/linux/commitdiff
scsi/bfa: convert to idr_alloc()
authorTejun Heo <tj@kernel.org>
Thu, 28 Feb 2013 01:04:41 +0000 (17:04 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 28 Feb 2013 03:10:18 +0000 (19:10 -0800)
Convert to the much saner new idr interface.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Krishna C Gudipati <kgudipat@brocade.com>
Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/scsi/bfa/bfad_im.c

index 8f92732655c785a6adafc813c67cf7e02d843eb5..5864f987f2062aa3b6e7d53b48bfe6fdcd427c1d 100644 (file)
@@ -523,20 +523,13 @@ bfad_im_scsi_host_alloc(struct bfad_s *bfad, struct bfad_im_port_s *im_port,
        int error = 1;
 
        mutex_lock(&bfad_mutex);
-       if (!idr_pre_get(&bfad_im_port_index, GFP_KERNEL)) {
+       error = idr_alloc(&bfad_im_port_index, im_port, 0, 0, GFP_KERNEL);
+       if (error < 0) {
                mutex_unlock(&bfad_mutex);
-               printk(KERN_WARNING "idr_pre_get failure\n");
+               printk(KERN_WARNING "idr_alloc failure\n");
                goto out;
        }
-
-       error = idr_get_new(&bfad_im_port_index, im_port,
-                                        &im_port->idr_id);
-       if (error) {
-               mutex_unlock(&bfad_mutex);
-               printk(KERN_WARNING "idr_get_new failure\n");
-               goto out;
-       }
-
+       im_port->idr_id = error;
        mutex_unlock(&bfad_mutex);
 
        im_port->shost = bfad_scsi_host_alloc(im_port, bfad);