<div><br></div><div><div><span style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; line-height: 21.6364px;">Yes, I'd like to submit it to mainline.For 32MB spi flash, The mt7620a soc switch to 32bit address mode.After a soft reset, the spi flash should switch to 24bit back, otherwise the rourer would hang until you do a hard reset.</span><br style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; line-height: 21.6364px;"></div><div><br></div><div style="font-size: 12px;font-family: Arial Narrow;padding:2px 0 2px 0;">------------------ 原始邮件 ------------------</div><div style="font-size: 12px;background:#efefef;padding:8px;"><div><b>发件人:</b> "Rafał Miłecki";<zajec5@gmail.com>;</div><div><b>发送时间:</b> 2015年11月9日(星期一) 凌晨5:25</div><div><b>收件人:</b> "未命名"<countrysideboy@qq.com>; <wbr></div><div><b>抄送:</b> "OpenWrt Development List"<openwrt-devel@lists.openwrt.org>; <wbr></div><div><b>主题:</b> Re: [OpenWrt-Devel] [PATCH] ramips: reset m25p80 when shutdown</div></div><div><br></div>On 7 November 2015 at 21:42, Shonn Lu <countrysideboy@qq.com> wrote:<br>> Signed-off-by: Shonn Lu <countrysideboy@qq.com><br>> ---<br>>  .../0064-reset-m25p80-when-shutdown.patch          | 24 ++++++++++++++++++++++<br>>  1 file changed, 24 insertions(+)<br>>  create mode 100644 target/linux/ramips/patches-3.18/0064-reset-m25p80-when-shutdown.patch<br>><br>> diff --git a/target/linux/ramips/patches-3.18/0064-reset-m25p80-when-shutdown.patch b/target/linux/ramips/patches-3.18/0064-reset-m25p80-when-shutdown.patch<br>> new file mode 100644<br>> index 0000000..76f916a<br>> --- /dev/null<br>> +++ b/target/linux/ramips/patches-3.18/0064-reset-m25p80-when-shutdown.patch<br>> @@ -0,0 +1,24 @@<br>> +--- a/drivers/mtd/devices/m25p80.c<br>> ++++ b/drivers/mtd/devices/m25p80.c<br>> +@@ -319,6 +319,12 @@<br>> + {<br>> +       struct m25p     *flash = spi_get_drvdata(spi);<br>> +<br>> ++    //        play4fun: add spi flash reset code<br>> ++      flash->command[0] = 0x66;<br>> ++      spi_write(flash->spi, flash->command, 1);<br>> ++      flash->command[0] = 0x99;<br>> ++      spi_write(flash->spi, flash->command, 1);<br>> ++<br>> +       /* Clean up MTD stuff. */<br>> +       return mtd_device_unregister(&flash->mtd);<br>> + }<br>> +@@ -382,6 +388,8 @@<br>> +       .id_table       = m25p_ids,<br>> +       .probe  = m25p_probe,<br>> +       .remove = m25p_remove,<br>> ++      //      play4fun add shutdown method to reset spi flash<br>> ++      .shutdown = m25p_remove,<br><br>What's the point with that "play4fun" something? Please describe this<br>patch better, explain why it is needed. Did you try to submit this<br>patch to mainline?<br><br>-- <br>Rafał<br></div>