OSDN Git Service

fpga: dfl: expand minor range when registering chrdev region
authorChengguang Xu <cgxu519@gmx.com>
Thu, 9 May 2019 21:08:29 +0000 (16:08 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 24 May 2019 18:32:12 +0000 (20:32 +0200)
Actually, total amount of available minor number
for a single major is MINORMASK + 1. So expand
minor range when registering chrdev region.

Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
Acked-by: Wu Hao <hao.wu@intel.com>
Acked-by: Alan Tull <atull@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/fpga/dfl.c

index c25217c..4b66aaa 100644 (file)
@@ -322,7 +322,7 @@ static void dfl_chardev_uinit(void)
        for (i = 0; i < DFL_FPGA_DEVT_MAX; i++)
                if (MAJOR(dfl_chrdevs[i].devt)) {
                        unregister_chrdev_region(dfl_chrdevs[i].devt,
-                                                MINORMASK);
+                                                MINORMASK + 1);
                        dfl_chrdevs[i].devt = MKDEV(0, 0);
                }
 }
@@ -332,8 +332,8 @@ static int dfl_chardev_init(void)
        int i, ret;
 
        for (i = 0; i < DFL_FPGA_DEVT_MAX; i++) {
-               ret = alloc_chrdev_region(&dfl_chrdevs[i].devt, 0, MINORMASK,
-                                         dfl_chrdevs[i].name);
+               ret = alloc_chrdev_region(&dfl_chrdevs[i].devt, 0,
+                                         MINORMASK + 1, dfl_chrdevs[i].name);
                if (ret)
                        goto exit;
        }