Merge tag 'stable/for-linus-3.16-rc1-tag' of git://git.kernel.org/pub/scm/linux/kerne...
[firefly-linux-kernel-4.4.55.git] / drivers / mtd / ubi / block.c
index 8d659e6a1b4c0899e32706b8bfa7fe3270ff715a..8457df7ec5afe548d29f6faaa4560dd5db6fb815 100644 (file)
@@ -253,7 +253,7 @@ static int do_ubiblock_request(struct ubiblock *dev, struct request *req)
         * flash access anyway.
         */
        mutex_lock(&dev->dev_mutex);
-       ret = ubiblock_read(dev, req->buffer, sec, len);
+       ret = ubiblock_read(dev, bio_data(req->bio), sec, len);
        mutex_unlock(&dev->dev_mutex);
 
        return ret;
@@ -432,8 +432,10 @@ int ubiblock_create(struct ubi_volume_info *vi)
         * Rembember workqueues are cheap, they're not threads.
         */
        dev->wq = alloc_workqueue("%s", 0, 0, gd->disk_name);
-       if (!dev->wq)
+       if (!dev->wq) {
+               ret = -ENOMEM;
                goto out_free_queue;
+       }
        INIT_WORK(&dev->work, ubiblock_do_work);
 
        mutex_lock(&devices_mutex);