hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/drivers/rkflash/sfc.c
....@@ -12,6 +12,7 @@
1212 #define SFC_MAX_IOSIZE_VER4 (0xFFFFFFFF)
1313
1414 static void __iomem *g_sfc_reg;
15
+static u32 sfc_version;
1516
1617 static void sfc_reset(void)
1718 {
....@@ -75,6 +76,7 @@
7576
7677 if (sfc_get_version() >= SFC_VER_4)
7778 writel(1, g_sfc_reg + SFC_LEN_CTRL);
79
+ sfc_version = sfc_get_version();
7880
7981 return SFC_OK;
8082 }
....@@ -116,7 +118,7 @@
116118 op->sfctrl.d32 |= 0x2;
117119 cmd.b.datasize = size;
118120
119
- if (sfc_get_version() >= SFC_VER_4)
121
+ if (sfc_version >= SFC_VER_4)
120122 writel(size, g_sfc_reg + SFC_LEN_EXT);
121123 else
122124 cmd.b.datasize = size;
....@@ -238,6 +240,8 @@
238240 break;
239241 }
240242
243
+ if (!bytes)
244
+ break;
241245 sfc_delay(1);
242246
243247 if (timeout++ > 10000) {