From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752284AbdGYO2V (ORCPT ); Tue, 25 Jul 2017 10:28:21 -0400 Received: from mail-wm0-f67.google.com ([74.125.82.67]:32892 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751916AbdGYO2T (ORCPT ); Tue, 25 Jul 2017 10:28:19 -0400 Date: Tue, 25 Jul 2017 16:28:16 +0200 From: Pali =?utf-8?B?Um9ow6Fy?= To: Richard Weinberger Cc: Joern Engel , David Woodhouse , Brian Norris , Boris Brezillon , Marek Vasut , Richard Weinberger , Cyrille Pitchen , Artem Bityutskiy , "linux-mtd@lists.infradead.org" , LKML Subject: Re: [PATCH 3/5] mtd: block2mtd: Fallback to read-only mode Message-ID: <20170725142816.GM30901@pali> References: <1496418222-23483-1-git-send-email-pali.rohar@gmail.com> <1496418222-23483-4-git-send-email-pali.rohar@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Friday 21 July 2017 21:53:26 Richard Weinberger wrote: > > @@ -240,6 +244,13 @@ static struct block2mtd_dev *add_device(char *devname, uint32_t erase_size, > > /* Get a handle on the device */ > > bdev = blkdev_get_by_path(devname, mode, dev); > > > > + /* Try fallback to read only mode */ > > + if (IS_ERR(bdev)) { > > + bdev = blkdev_get_by_path(devname, FMODE_READ, dev); > > + if (!IS_ERR(bdev)) > > + dev->ro_mode = true; > > + } > > + > > Please use bdev_read_only() instead of blindly trying again with another mode. > > > #ifndef MODULE > > /* > > * We might not have the root device mounted at this point. > > @@ -261,6 +272,13 @@ static struct block2mtd_dev *add_device(char *devname, uint32_t erase_size, > > if (!devt) > > continue; > > bdev = blkdev_get_by_dev(devt, mode, dev); > > + > > + /* Try fallback to read only mode */ > > + if (IS_ERR(bdev)) { > > + bdev = blkdev_get_by_path(devname, FMODE_READ, dev); > > + if (!IS_ERR(bdev)) > > + dev->ro_mode = true; > > + } > > Same here. Ok, I will change it. -- Pali Rohár pali.rohar@gmail.com