summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds2016-04-16 00:25:09 +0200
committerLinus Torvalds2016-04-16 00:25:09 +0200
commit29dde7c25adafcdcbde3a14bce3f07e5a201dc30 (patch)
tree2f39eb82f1a2504f4c567f0dadb0990c347a3c0c
parentMerge tag 'mmc-v4.6-rc3' of git://git.linaro.org/people/ulf.hansson/mmc (diff)
parentmtd: nand: Drop mtd.owner requirement in nand_scan (diff)
downloadkernel-qcow2-linux-29dde7c25adafcdcbde3a14bce3f07e5a201dc30.tar.gz
kernel-qcow2-linux-29dde7c25adafcdcbde3a14bce3f07e5a201dc30.tar.xz
kernel-qcow2-linux-29dde7c25adafcdcbde3a14bce3f07e5a201dc30.zip
Merge tag 'for-linus-20160415' of git://git.infradead.org/linux-mtd
Pull MTD fix from Brian Norris: "One MTD fix for v4.6-rc4: In the v4.4 cycle, we relaxed the requirement for assigning mtd->owner, but we didn't remove this error case. It's hit only by drivers that are both: (a) using nand_scan() directly and (b) built as modules We haven't seen explicit complaints about this (most use cases don't fit one or both of the above), but we should definitely not be BUG()'ing here" * tag 'for-linus-20160415' of git://git.infradead.org/linux-mtd: mtd: nand: Drop mtd.owner requirement in nand_scan
-rw-r--r--drivers/mtd/nand/nand_base.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index b6facac54fc0..557b8462f55e 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -4009,7 +4009,6 @@ static int nand_dt_init(struct nand_chip *chip)
* This is the first phase of the normal nand_scan() function. It reads the
* flash ID and sets up MTD fields accordingly.
*
- * The mtd->owner field must be set to the module of the caller.
*/
int nand_scan_ident(struct mtd_info *mtd, int maxchips,
struct nand_flash_dev *table)
@@ -4429,19 +4428,12 @@ EXPORT_SYMBOL(nand_scan_tail);
*
* This fills out all the uninitialized function pointers with the defaults.
* The flash ID is read and the mtd/chip structures are filled with the
- * appropriate values. The mtd->owner field must be set to the module of the
- * caller.
+ * appropriate values.
*/
int nand_scan(struct mtd_info *mtd, int maxchips)
{
int ret;
- /* Many callers got this wrong, so check for it for a while... */
- if (!mtd->owner && caller_is_module()) {
- pr_crit("%s called with NULL mtd->owner!\n", __func__);
- BUG();
- }
-
ret = nand_scan_ident(mtd, maxchips, NULL);
if (!ret)
ret = nand_scan_tail(mtd);