Part Number: AM3354
Tool/software:
Hi TI Experts,
Customer is working on SDK linux-rt-4.14.79.
Their product has been released for 2 years already, and there is no any problem.
However, recently they meet the supply concern for their previous eMMC vendor, so they just changed the eMMC to IC FEMDRW008G-88A39(FLASH).
After this change, they will have the below problem. (they have 12 boards containing this new eMMC, and all of them have this problem)
root@am335x-evm:/# [43946.836954] Unable to handle kernel paging request at virtual address f08f4314
[43946.844989] pgd = ed3c4000
[43946.849386] [f08f4314] *pgd=ae831811, *pte=00000000, *ppte=00000000
[43946.856066] Internal error: Oops: 7 [#1] PREEMPT ARM
[43946.856071] Modules linked in: musb_dsps musb_hdrc udc_core phy_am335x usbcore phy_generic usb_common phy_am335x_control c_can_platform c_can can_dev musb_am335x omap_crypto
[43946.856109] CPU: 0 PID: 12860 Comm: sh Not tainted 4.14.79-rt47-g28d73230da #35
[43946.856112] Hardware name: Generic AM33XX (Flattened Device Tree)
[43946.856116] task: ed0f4700 task.stack: eee70000
[43946.856141] PC is at page_address+0xc/0xf4
[43946.856148] LR is at kunmap_high+0x28/0xa4
[43946.856151] pc : [<c01e9a80>] lr : [<c01e9b90>] psr: 600a0113
[43946.856154] sp : eee71d20 ip : eee71d48 fp : eee71d44
[43946.856158] r10: eee8e44c r9 : eee8e400 r8 : c0116104
[43946.856161] r7 : ed655420 r6 : efe1f30c r5 : f08f4314 r4 : c0a1c2b8
[43946.856165] r3 : c0a1c2c0 r2 : ed0f4700 r1 : 00000000 r0 : f08f4314
[43946.856171] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none
[43946.856175] Control: 10c5387d Table: ad3c4019 DAC: 00000051
[43946.856179] Process sh (pid: 12860, stack limit = 0xeee70208)
[43946.856183] Stack: (0xeee71d20 to 0xeee72000)
[43946.856193] 1d20: c0a1c2b8 f08f4314 efe1f30c ed655420 c0116104 eee8e400 eee71d64 eee71d48
[43946.856202] 1d40: c01e9b90 c01e9a80 bfedb000 bfe20000 efe1f30c ed655420 eee71d84 eee71d68
[43946.856210] 1d60: c0115b50 c01e9b74 bfedb000 bfe20000 efe1f30c ed655420 eee71d9c eee71d88
[43946.856218] 1d80: c0116144 c0115a38 efe201f4 eee71e40 eee71dec eee71da0 c01ea52c c0116110
[43946.856226] 1da0: eee71dbc eee71db0 c067312c c0148e94 eee71de4 eee71dc0 ffefe000 eee70000
[43946.856234] 1dc0: eee71dec eee71e40 ed655420 00000040 00000055 ffffe000 ed655420 eee8e44c
[43946.856242] 1de0: eee71e24 eee71df0 c01ed244 c01ea4b0 eee71e24 eee71e00 ffffe000 00000002
[43946.856250] 1e00: eee71e24 b2dd53cf ed655420 00000040 00000055 ffffe000 eee71ea4 eee71e28
[43946.856258] 1e20: c01ee76c c01ed1ac 00000000 00045490 eee71e5c eee71e40 c015e3c0 c016ee54
[43946.856266] 1e40: ed655420 00000055 014200ca 000000cd 000ed000 ed3c4000 ed3c4000 b2dd53cf
[43946.856274] 1e60: 00000000 00000000 efe201f4 ffefe3b4 eee8e438 00000000 eee71ea4 eee71fb0
[43946.856283] 1e80: ed0f4700 eee8e400 0000081f 000ed75c ed655420 eee8e44c eee71efc eee71ea8
[43946.856291] 1ea0: c0111294 c01ee060 ed0f4700 c0a058e4 ed0f4730 eeaa9530 eee71efc 00000000
[43946.856299] 1ec0: 00000000 00000800 00000008 00000055 c01518f4 c0a0a24c 0000081f c0111158
[43946.856307] 1ee0: 000ed75c eee71fb0 000c74d0 000f408c eee71fac eee71f00 c0101310 c0111164
[43946.856315] 1f00: eeaa9500 c0a12a50 eee71f3c eee71f18 c014be90 c014b474 400a0013 00000004
[43946.856323] 1f20: c01414d0 00000000 00000000 00000000 eee71f8c eee71f40 c01265cc c01413cc
[43946.856331] 1f40: 00000000 00000000 ffffffff beb26720 00000051 beb266a0 00000051 beb26720
[43946.856339] 1f60: 00000008 b6f393b8 00000000 b6f39810 00000078 c0107ae4 eee70000 00000078
[43946.856347] 1f80: eee71fa4 eee71f90 c0126908 00051d60 600a0010 ffffffff 10c5387d 10c53c7d
[43946.856355] 1fa0: 00000000 eee71fb0 c010c5c0 c01012d8 00000002 beb26720 00000000 00000000
[43946.856363] 1fc0: 0000323d 000ed704 000f2d3c 00000000 00000000 000c74d0 000f408c 000f5af0
[43946.856371] 1fe0: 00000000 beb26690 00051d4c 00051d60 600a0010 ffffffff 00000000 00000000
[43946.856372] Backtrace:
[43946.856386] [<c01e9a74>] (page_address) from [<c01e9b90>] (kunmap_high+0x28/0xa4)
[43946.856396] r9:eee8e400 r8:c0116104 r7:ed655420 r6:efe1f30c r5:f08f4314 r4:c0a1c2b8
[43946.856407] [<c01e9b68>] (kunmap_high) from [<c0115b50>] (__kunmap_atomic+0x124/0x128)
[43946.856413] r7:ed655420 r6:efe1f30c r5:bfe20000 r4:bfedb000
[43946.856424] [<c0115a2c>] (__kunmap_atomic) from [<c0116144>] (v6_copy_user_highpage_nonaliasing+0x40/0x44)
[43946.856430] r7:ed655420 r6:efe1f30c r5:bfe20000 r4:bfedb000
[43946.856439] [<c0116104>] (v6_copy_user_highpage_nonaliasing) from [<c01ea52c>] (wp_page_copy+0x88/0x594)
[43946.856443] r5:eee71e40 r4:efe201f4
[43946.856453] [<c01ea4a4>] (wp_page_copy) from [<c01ed244>] (do_wp_page+0xa4/0x524)
[43946.856461] r10:eee8e44c r9:ed655420 r8:ffffe000 r7:00000055 r6:00000040 r5:ed655420
[43946.856463] r4:eee71e40
[43946.856472] [<c01ed1a0>] (do_wp_page) from [<c01ee76c>] (handle_mm_fault+0x718/0xbbc)
[43946.856478] r8:ffffe000 r7:00000055 r6:00000040 r5:ed655420 r4:b2dd53cf
[43946.856494] [<c01ee054>] (handle_mm_fault) from [<c0111294>] (do_page_fault+0x13c/0x388)
[43946.856502] r10:eee8e44c r9:ed655420 r8:000ed75c r7:0000081f r6:eee8e400 r5:ed0f4700
[43946.856505] r4:eee71fb0
[43946.856514] [<c0111158>] (do_page_fault) from [<c0101310>] (do_DataAbort+0x44/0xc4)
[43946.856522] r10:000f408c r9:000c74d0 r8:eee71fb0 r7:000ed75c r6:c0111158 r5:0000081f
[43946.856524] r4:c0a0a24c
[43946.856532] [<c01012cc>] (do_DataAbort) from [<c010c5c0>] (__dabt_usr+0x40/0x60)
[43946.856535] Exception stack(0xeee71fb0 to 0xeee71ff8)
[43946.856540] 1fa0: 00000002 beb26720 00000000 00000000
[43946.856548] 1fc0: 0000323d 000ed704 000f2d3c 00000000 00000000 000c74d0 000f408c 000f5af0
[43946.856555] 1fe0: 00000000 beb26690 00051d4c 00051d60 600a0010 ffffffff
[43946.856561] r8:10c53c7d r7:10c5387d r6:ffffffff r5:600a0010 r4:00051d60
[43946.856570] Code: e89da800 e1a0c00d e92ddbf0 e24cb004 (e5903000)
[43947.345982] ---[ end trace 0000000000000002 ]---
[43947.351072] Internal error: Oops - undefined instruction: 0 [#2] PREEMPT ARM
[43947.351077] Modules linked in: musb_dsps musb_hdrc udc_core phy_am335x usbcore phy_generic usb_common phy_am335x_control c_can_platform c_can can_dev musb_am335x omap_crypto
[43947.351111] CPU: 0 PID: 12860 Comm: sh Tainted: G D 4.14.79-rt47-g28d73230da #35
[43947.351114] Hardware name: Generic AM33XX (Flattened Device Tree)
[43947.351119] task: ed0f4700 task.stack: eee70000
[43947.351143] PC is at rt_spin_lock_slowlock_locked+0x210/0x25c
[43947.351149] LR is at 0xed0f4701
[43947.351152] pc : [<c067125c>] lr : [<ed0f4701>] psr: 600a0193
[43947.351155] sp : eee71930 ip : c0a1c2c0 fp : eee71954
[43947.351158] r10: eee71ad0 r9 : c087bbc0 r8 : eee71958
[43947.351162] r7 : ffffe000 r6 : ed0f4700 r5 : a00a0113 r4 : c0a1c2b8
[43947.351165] r3 : ed0f4700 r2 : 00000000 r1 : ed0f4700 r0 : 00000000
[43947.351170] Flags: nZCv IRQs off FIQs on Mode SVC_32 ISA ARM Segment none
[43947.351174] Control: 10c5387d Table: ad3c4019 DAC: 00000051
[43947.351178] Process sh (pid: 12860, stack limit = 0xeee70208)
[43947.351182] Stack: (0xeee71930 to 0xeee72000)
[43947.351190] 1920: ffffe000 a00a0113 00080000 ef6f9000
[43947.351198] 1940: ffffe000 c087bbc0 eee7199c eee71958 c0671304 c0671058 eee71958 c0a3e5f7
[43947.351206] 1960: eee70000 eee71964 eee7198c eee71978 00000000 c066f014 c065a701 00000001
[43947.351214] 1980: 00000000 00000000 eee70000 c0a1c2b8 eee719b4 eee719a0 c0672fb0 c06712b4
[43947.351222] 19a0: eff7c518 0000004f eee719cc eee719b8 c01e9c94 c0672f4c eff7c518 0000004f
[43947.351230] 19c0: eee719f4 eee719d0 c011596c c01e9c84 00010000 ffffffff 00010000 00000000
[43947.351238] 19e0: 00000000 c087bbc0 eee71a7c eee719f8 c01ec1ac c0115904 c087bbc0 ffe00000
[43947.351246] 1a00: 000dcfff ed3c4000 eee71a6c 000dd000 01000200 00000000 eee8e400 ed3c4004
[43947.351254] 1a20: efe1f6d8 eee8e438 00000000 c0a6b1a0 c0a08300 ed655ae0 000dd000 00010000
[43947.351262] 1a40: 00000000 00000000 00000000 00000000 c0a1bc84 ed655ae0 ffffffff eee71ad0
[43947.351270] 1a60: 00000000 00000000 eee8e44c ed0f4700 eee71a9c eee71a80 c01ec70c c01ec028
[43947.351277] 1a80: 00000000 00000524 00000000 ed655ae0 eee71acc eee71aa0 c01ec9b0 c01ec6c8
[43947.351285] 1aa0: 00000000 eee71ab0 c01eacc4 ed655ae0 eee8e400 00000000 00000524 00000000
[43947.351293] 1ac0: eee71b34 eee71ad0 c01f2de8 c01ec960 eee8e400 00000001 00000000 00000000
[43947.351301] 1ae0: ffffffff eee71b44 eee71b24 00000000 00000400 ed71b000 eee71b1c eee71b08
[43947.351309] 1b00: ffffe000 ed364a44 eef6c500 eee8e400 00000000 ffffe000 00000524 eee8e400
[43947.351317] 1b20: 00000000 ffffe000 eee71b4c eee71b38 c01248e0 c01f2d3c ed0f4700 eee8e400
[43947.351324] 1b40: eee71b6c eee71b50 c01296cc c01248ac eee71b6c eee71b60 c01272bc eee70000
[43947.351332] 1b60: eee71bac eee71b70 c010b8cc c01293e0 eee70208 0000000b c0111100 600a0113
[43947.351341] 1b80: c081bebc f08f4314 eee71cd0 00000007 eee8e400 f08f4314 eee70000 eee8e44c
[43947.351349] 1ba0: eee71bc4 eee71bb0 c01116b8 c010b67c eee71cd0 00000007 eee71c1c eee71bc8
[43947.351357] 1bc0: c01114e0 c0111658 2b30ef80 000027f8 c0a0a680 00000003 ffffffff c0a19800
[43947.351365] 1be0: eee71c1c eee71bf0 c018a7e8 c0189ae4 00000000 c0a0a1cc 00000007 c0111158
[43947.351373] 1c00: f08f4314 eee71cd0 eee70000 eee8e44c eee71ccc eee71c20 c0101310 c0111164
[43947.351381] 1c20: ffffe000 c0a1bbd4 00000000 c0a1bbd4 eee71c4c eee71c40 00000000 c0a1bbd4
[43947.351389] 1c40: eee71cd4 eee71c50 c01c59c4 c0148e94 00000000 0000004f eee71c74 c0a3e5f7
[43947.351397] 1c60: c067312c c0148e94 eee71c8c eee71c78 c01e9cdc c06730dc eff7f068 00000001
[43947.351405] 1c80: 00000000 00000000 ffffe000 ef6d08e0 00000001 014200ca 00000000 00000000
[43947.351413] 1ca0: 00000081 c0a3e188 eee71d3c c01e9a80 600a0113 ffffffff eee71d04 c0116104
[43947.351421] 1cc0: eee71d44 eee71cd0 c010c178 c01012d8 f08f4314 00000000 ed0f4700 c0a1c2c0
[43947.351429] 1ce0: c0a1c2b8 f08f4314 efe1f30c ed655420 c0116104 eee8e400 eee8e44c eee71d44
[43947.351437] 1d00: eee71d48 eee71d20 c01e9b90 c01e9a80 600a0113 ffffffff 00000051 bf000000
[43947.351445] 1d20: c0a1c2b8 f08f4314 efe1f30c ed655420 c0116104 eee8e400 eee71d64 eee71d48
[43947.351453] 1d40: c01e9b90 c01e9a80 bfedb000 bfe20000 efe1f30c ed655420 eee71d84 eee71d68
[43947.351462] 1d60: c0115b50 c01e9b74 bfedb000 bfe20000 efe1f30c ed655420 eee71d9c eee71d88
[43947.351470] 1d80: c0116144 c0115a38 efe201f4 eee71e40 eee71dec eee71da0 c01ea52c c0116110
[43947.351478] 1da0: eee71dbc eee71db0 c067312c c0148e94 eee71de4 eee71dc0 ffefe000 eee70000
[43947.351486] 1dc0: eee71dec eee71e40 ed655420 00000040 00000055 ffffe000 ed655420 eee8e44c
[43947.351494] 1de0: eee71e24 eee71df0 c01ed244 c01ea4b0 eee71e24 eee71e00 ffffe000 00000002
[43947.351502] 1e00: eee71e24 b2dd53cf ed655420 00000040 00000055 ffffe000 eee71ea4 eee71e28
[43947.351510] 1e20: c01ee76c c01ed1ac 00000000 00045490 eee71e5c eee71e40 c015e3c0 c016ee54
[43947.351518] 1e40: ed655420 00000055 014200ca 000000cd 000ed000 ed3c4000 ed3c4000 b2dd53cf
[43947.351526] 1e60: 00000000 00000000 efe201f4 ffefe3b4 eee8e438 00000000 eee71ea4 eee71fb0
[43947.351534] 1e80: ed0f4700 eee8e400 0000081f 000ed75c ed655420 eee8e44c eee71efc eee71ea8
[43947.351542] 1ea0: c0111294 c01ee060 ed0f4700 c0a058e4 ed0f4730 eeaa9530 eee71efc 00000000
[43947.351550] 1ec0: 00000000 00000800 00000008 00000055 c01518f4 c0a0a24c 0000081f c0111158
[43947.351558] 1ee0: 000ed75c eee71fb0 000c74d0 000f408c eee71fac eee71f00 c0101310 c0111164
[43947.351567] 1f00: eeaa9500 c0a12a50 eee71f3c eee71f18 c014be90 c014b474 400a0013 00000004
[43947.351574] 1f20: c01414d0 00000000 00000000 00000000 eee71f8c eee71f40 c01265cc c01413cc
[43947.351582] 1f40: 00000000 00000000 ffffffff beb26720 00000051 beb266a0 00000051 beb26720
[43947.351590] 1f60: 00000008 b6f393b8 00000000 b6f39810 00000078 c0107ae4 eee70000 00000078
[43947.351598] 1f80: eee71fa4 eee71f90 c0126908 00051d60 600a0010 ffffffff 10c5387d 10c53c7d
[43947.351606] 1fa0: 00000000 eee71fb0 c010c5c0 c01012d8 00000002 beb26720 00000000 00000000
[43947.351614] 1fc0: 0000323d 000ed704 000f2d3c 00000000 00000000 000c74d0 000f408c 000f5af0
[43947.351622] 1fe0: 00000000 beb26690 00051d4c 00051d60 600a0010 ffffffff 00000000 00000000
[43947.351623] Backtrace:
[43947.351640] [<c067104c>] (rt_spin_lock_slowlock_locked) from [<c0671304>] (rt_spin_lock_slowlock+0x5c/0xa8)
[43947.351650] r9:c087bbc0 r8:ffffe000 r7:ef6f9000 r6:00080000 r5:a00a0113 r4:ffffe000
[43947.351659] [<c06712a8>] (rt_spin_lock_slowlock) from [<c0672fb0>] (rt_spin_lock+0x70/0x74)
[43947.351663] r5:c0a1c2b8 r4:eee70000
[43947.351680] [<c0672f40>] (rt_spin_lock) from [<c01e9c94>] (kmap_high_get+0x1c/0x70)
[43947.351683] r5:0000004f r4:eff7c518
[43947.351694] [<c01e9c78>] (kmap_high_get) from [<c011596c>] (kmap_atomic+0x74/0x134)
[43947.351698] r5:0000004f r4:eff7c518
[43947.351707] [<c01158f8>] (kmap_atomic) from [<c01ec1ac>] (unmap_page_range+0x190/0x6a0)
[43947.351714] r9:c087bbc0 r8:00000000 r7:00000000 r6:00010000 r5:ffffffff r4:00010000
[43947.351723] [<c01ec01c>] (unmap_page_range) from [<c01ec70c>] (unmap_single_vma+0x50/0x58)
[43947.351731] r10:ed0f4700 r9:eee8e44c r8:00000000 r7:00000000 r6:eee71ad0 r5:ffffffff
[43947.351733] r4:ed655ae0
[43947.351742] [<c01ec6bc>] (unmap_single_vma) from [<c01ec9b0>] (unmap_vmas+0x5c/0x70)
[43947.351744] r4:ed655ae0
[43947.351754] [<c01ec954>] (unmap_vmas) from [<c01f2de8>] (exit_mmap+0xb8/0x1b8)
[43947.351761] r8:00000000 r7:00000524 r6:00000000 r5:eee8e400 r4:ed655ae0
[43947.351772] [<c01f2d30>] (exit_mmap) from [<c01248e0>] (mmput+0x40/0xd4)
[43947.351777] r6:ffffe000 r5:00000000 r4:eee8e400
[43947.351788] [<c01248a0>] (mmput) from [<c01296cc>] (do_exit+0x2f8/0xa68)
[43947.351792] r5:eee8e400 r4:ed0f4700
[43947.351809] [<c01293d4>] (do_exit) from [<c010b8cc>] (die+0x25c/0x2a0)
[43947.351812] r7:eee70000
[43947.351828] [<c010b670>] (die) from [<c01116b8>] (__do_kernel_fault.part.0+0x6c/0x7c)
[43947.351835] r10:eee8e44c r9:eee70000 r8:f08f4314 r7:eee8e400 r6:00000007 r5:eee71cd0
[43947.351838] r4:f08f4314
[43947.351846] [<c011164c>] (__do_kernel_fault.part.0) from [<c01114e0>] (do_bad_area+0x0/0x8c)
[43947.351850] r7:00000007 r4:eee71cd0
[43947.351857] [<c0111158>] (do_page_fault) from [<c0101310>] (do_DataAbort+0x44/0xc4)
[43947.351865] r10:eee8e44c r9:eee70000 r8:eee71cd0 r7:f08f4314 r6:c0111158 r5:00000007
[43947.351868] r4:c0a0a1cc
[43947.351874] [<c01012cc>] (do_DataAbort) from [<c010c178>] (__dabt_svc+0x58/0x80)
[43947.351878] Exception stack(0xeee71cd0 to 0xeee71d18)
[43947.351883] 1cc0: f08f4314 00000000 ed0f4700 c0a1c2c0
[43947.351891] 1ce0: c0a1c2b8 f08f4314 efe1f30c ed655420 c0116104 eee8e400 eee8e44c eee71d44
[43947.351898] 1d00: eee71d48 eee71d20 c01e9b90 c01e9a80 600a0113 ffffffff
[43947.351905] r8:c0116104 r7:eee71d04 r6:ffffffff r5:600a0113 r4:c01e9a80
[43947.351913] [<c01e9a74>] (page_address) from [<c01e9b90>] (kunmap_high+0x28/0xa4)
[43947.351921] r9:eee8e400 r8:c0116104 r7:ed655420 r6:efe1f30c r5:f08f4314 r4:c0a1c2b8
[43947.351928] [<c01e9b68>] (kunmap_high) from [<c0115b50>] (__kunmap_atomic+0x124/0x128)
[43947.351934] r7:ed655420 r6:efe1f30c r5:bfe20000 r4:bfedb000
[43947.351943] [<c0115a2c>] (__kunmap_atomic) from [<c0116144>] (v6_copy_user_highpage_nonaliasing+0x40/0x44)
[43947.351948] r7:ed655420 r6:efe1f30c r5:bfe20000 r4:bfedb000
[43947.351956] [<c0116104>] (v6_copy_user_highpage_nonaliasing) from [<c01ea52c>] (wp_page_copy+0x88/0x594)
[43947.351960] r5:eee71e40 r4:efe201f4
[43947.351969] [<c01ea4a4>] (wp_page_copy) from [<c01ed244>] (do_wp_page+0xa4/0x524)
[43947.351977] r10:eee8e44c r9:ed655420 r8:ffffe000 r7:00000055 r6:00000040 r5:ed655420
[43947.351979] r4:eee71e40
[43947.351988] [<c01ed1a0>] (do_wp_page) from [<c01ee76c>] (handle_mm_fault+0x718/0xbbc)
[43947.351994] r8:ffffe000 r7:00000055 r6:00000040 r5:ed655420 r4:b2dd53cf
[43947.352004] [<c01ee054>] (handle_mm_fault) from [<c0111294>] (do_page_fault+0x13c/0x388)
[43947.352011] r10:eee8e44c r9:ed655420 r8:000ed75c r7:0000081f r6:eee8e400 r5:ed0f4700
[43947.352014] r4:eee71fb0
[43947.352021] [<c0111158>] (do_page_fault) from [<c0101310>] (do_DataAbort+0x44/0xc4)
[43947.352029] r10:000f408c r9:000c74d0 r8:eee71fb0 r7:000ed75c r6:c0111158 r5:0000081f
[43947.352032] r4:c0a0a24c
[43947.352038] [<c01012cc>] (do_DataAbort) from [<c010c5c0>] (__dabt_usr+0x40/0x60)
[43947.352041] Exception stack(0xeee71fb0 to 0xeee71ff8)
[43947.352046] 1fa0: 00000002 beb26720 00000000 00000000
[43947.352054] 1fc0: 0000323d 000ed704 000f2d3c 00000000 00000000 000c74d0 000f408c 000f5af0
[43947.352061] 1fe0: 00000000 beb26690 00051d4c 00051d60 600a0010 ffffffff
[43947.352067] r8:10c53c7d r7:10c5387d r6:ffffffff r5:600a0010 r4:00051d60
[43947.352076] Code: 1a00000e e5983000 e1580003 089dabf0 (e7f001f2)
[43948.357766] ---[ end trace 0000000000000003 ]---
[43948.357770] Fixing recursive fault but reboot is needed!
[44112.190665] systemd[1]: systemd-journald.service: State 'stop-sigabrt' timed out. Terminating.
Only reboot will solve this problem, but after reboot, when it access eMMC again, it will still reproduce this problem.
Could you help provide some suggestions about it please?
Thanks,
Kevin