ANDROID: dm: do_mounts_dm: Rebase on top of 4.9
1. "dm: optimize use SRCU and RCU" removes the use of dm_table_put.
2. "dm: remove request-based logic from make_request_fn wrapper" necessitates
calling dm_setup_md_queue or else the request_queue's make_request_fn
pointer ends being unset.
[ 7.711600] Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP
[ 7.717519] CPU: 1 PID: 1 Comm: swapper/0 Tainted: G W
4.1.15-02273-gb057d16-dirty #33
[ 7.726559] Hardware name: HiKey Development Board (DT)
[ 7.731779] task:
ffffffc005f8acc0 ti:
ffffffc005f8c000 task.ti:
ffffffc005f8c000
[ 7.739257] PC is at 0x0
[ 7.741787] LR is at generic_make_request+0x8c/0x108
....
[ 9.082931] Call trace:
[ 9.085372] [< (null)>] (null)
[ 9.090074] [<
ffffffc0003f4ac0>] submit_bio+0x98/0x1e0
[ 9.095212] [<
ffffffc0001e2618>] _submit_bh+0x120/0x1f0
[ 9.096165] cfg80211: Calling CRDA to update world regulatory domain
[ 9.106781] [<
ffffffc0001e5450>] __bread_gfp+0x94/0x114
[ 9.112004] [<
ffffffc00024a748>] ext4_fill_super+0x18c/0x2d64
[ 9.117750] [<
ffffffc0001b275c>] mount_bdev+0x194/0x1c0
[ 9.122973] [<
ffffffc0002450dc>] ext4_mount+0x14/0x1c
[ 9.128021] [<
ffffffc0001b29a0>] mount_fs+0x3c/0x194
[ 9.132985] [<
ffffffc0001d059c>] vfs_kern_mount+0x4c/0x134
[ 9.138467] [<
ffffffc0001d2168>] do_mount+0x204/0xbbc
[ 9.143514] [<
ffffffc0001d2ec4>] SyS_mount+0x94/0xe8
[ 9.148479] [<
ffffffc000c54074>] mount_block_root+0x120/0x24c
[ 9.154222] [<
ffffffc000c543e8>] mount_root+0x110/0x12c
[ 9.159443] [<
ffffffc000c54574>] prepare_namespace+0x170/0x1b8
[ 9.165273] [<
ffffffc000c53d98>] kernel_init_freeable+0x23c/0x260
[ 9.171365] [<
ffffffc0009b1748>] kernel_init+0x10/0x118
[ 9.176589] Code: bad PC value
[ 9.179807] ---[ end trace
75e1bc52ba364d13 ]---
Bug:
27175947
Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com>
Change-Id: I952d86fd1475f0825f9be1386e3497b36127abd0