fs/fs.c: read up to EOF when len would read past EOF
Subsystems (7)
PATCH RESEND v5 1/1 fs/fs.c: read up to EOF when len would read past EOF
From: Max Krummenacher <[email protected]>
http://lists.denx.de/pipermail/u-boot/2012-September/134347.html
allows for reading files in chunks from the shell.
When this feature is used to read past the end of a file an error was returned instead of returning the bytes read up to the end of file. Thus the following fails in the shell:
offset = 0
len = chunksize
do
read file, offset, len
write data
until bytes_read < len
The patch changes the behaviour to printing an informational message and returning the actual read number of bytes aka read(2) behaviour for convenient use in U-Boot scripts.
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek Changes in v2: mention read(2) behaviour as suggested by Marek
fs/fs.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
fs/fs.c +2 -4
@@ -301,10 +301,8 @@ int fs_read(const char *filename, ulong addr, loff_t offset, loff_t len,unmap_sysmem (buf);/* If we requested a specific number of bytes, check we got it */ -if (ret ==0 && len && *actread != len) { -printf ("** Unable to read file %s **\n" , filename); - ret =-1 ; - } +if (ret ==0 && len && *actread != len) +printf ("** %s shorter than offset + len **\n" , filename);fs_close ();return ret;
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 net: asix: fix operation without eeprom
From: Marcel Ziswiler <[email protected]>
This patch fixes operation of our on-board AX88772B chip without EEPROM but with a ethaddr coming from the regular U-Boot environment. This is a forward port of some remaining parts initially implemented by Antmicro.
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek Changes in v3 as suggested by Marek:
- introduce ctl variable
- fix comment style
- use mdelay
Changes in v2:
- run it through checkpatch.pl as suggested by Marek and Joe
- cleanup comments and use VID/PID defines as suggested by Marek
- dug out an AX88772 (not B) dongle again and verified operation
- AX88772 (not B) indeed does not work with B modifications (e.g. VID/PID based differentiation is indeed required)
- dug out another AX88772B dongle as well and verified operation
drivers/usb/eth/asix.c | 40 ++++++++++++++++++++++++++++++++++------ 1 file changed, 34 insertions(+), 6 deletions(-)
drivers/usb/eth/asix.c +34 -6
@@ -1,6 +1,8 @@/* * Copyright (c) 2011 The Chromium OS Authors. * +* Patched for AX88772B by Antmicro Ltd <www.antmicro.com> +* * SPDX-License-Identifier: GPL-2.0+ */
@@ -64,8 +66,11 @@ AX_MEDIUM_AC | AX_MEDIUM_RE)/* AX88772 & AX88178 RX_CTL values */ -#define AX_RX_CTL_SO 0x0080 -#define AX_RX_CTL_AB 0x0008 +#define AX_RX_CTL_RH2M 0x0200/* 32-bit aligned RX IP header */ +#define AX_RX_CTL_RH1M 0x0100/* Enable RX header format type 1 */ +#define AX_RX_CTL_SO 0x0080 +#define AX_RX_CTL_AB 0x0008 +#define AX_RX_HEADER_DEFAULT (AX_RX_CTL_RH1M | AX_RX_CTL_RH2M)#define AX_DEFAULT_RX_CTL \ (AX_RX_CTL_SO | AX_RX_CTL_AB)
@@ -92,6 +97,8 @@#define FLAG_TYPE_AX88772B (1U << 2)#define FLAG_EEPROM_MAC (1U << 3)/* initial mac address in eeprom */ +#define ASIX_USB_VENDOR_ID 0x0b95 +#define AX88772B_USB_PRODUCT_ID 0x772b/* driver private */ struct asix_private {
@@ -418,15 +425,23 @@ static int asix_basic_reset(struct ueth_data *dev)return 0 ; } -static int asix_init_common (struct ueth_data *dev) +static int asix_init_common (struct ueth_data *dev,uint8_t *enetaddr) {int timeout =0 ;#define TIMEOUT_RESOLUTION 50/* ms */ int link_detected; +u32 ctl =AX_DEFAULT_RX_CTL ;debug ("** %s()\n" , __func__); -if (asix_write_rx_ctl (dev,AX_DEFAULT_RX_CTL ) <0 ) +if ((dev->pusb_dev->descriptor.idVendor ==ASIX_USB_VENDOR_ID ) && + (dev->pusb_dev->descriptor.idProduct ==AX88772B_USB_PRODUCT_ID )) + ctl |=AX_RX_HEADER_DEFAULT ; + +if (asix_write_rx_ctl (dev, ctl) <0 ) + goto out_err; + +if (asix_write_hwaddr_common (dev, enetaddr) <0 ) goto out_err; do {
@@ -447,6 +462,12 @@ static int asix_init_common(struct ueth_data *dev) goto out_err; } +/* +* Wait some more to avoid timeout on first transfer +* (e.g. EHCI timed out on TD - token=0x8008d80) +*/ +mdelay (25 ); +return 0 ; out_err:return -1 ;
@@ -488,7 +509,7 @@ static int asix_init(struct eth_device *eth, bd_t *bd) {struct ueth_data *dev = (struct ueth_data *)eth->priv; -return asix_init_common (dev); +return asix_init_common (dev, eth->enetaddr); }static int asix_send (struct eth_device *eth,void *packet,int length)
@@ -550,6 +571,12 @@ static int asix_recv(struct eth_device *eth)return -1 ; } +if ((dev->pusb_dev->descriptor.idVendor == +ASIX_USB_VENDOR_ID ) && + (dev->pusb_dev->descriptor.idProduct == +AX88772B_USB_PRODUCT_ID )) + buf_ptr +=2 ; +/* Notify net stack */ net_process_received_packet (buf_ptr +sizeof (packet_len), packet_len);
@@ -729,9 +756,10 @@ int asix_eth_get_info(struct usb_device *dev, struct ueth_data *ss,#ifdef CONFIG_DM_ETH static int asix_eth_start (struct udevice *dev) { +struct eth_pdata *pdata =dev_get_platdata (dev);struct asix_private *priv =dev_get_priv (dev); -return asix_init_common (&priv->ueth); +return asix_init_common (&priv->ueth, pdata->enetaddr); }void asix_eth_stop (struct udevice *dev)
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 net: asix: fix operation without eeprom
Quoted 9 lines · Marcel Ziswiler
From: Marcel Ziswiler <[email protected]>
This patch fixes operation of our on-board AX88772B chip without EEPROM but with a ethaddr coming from the regular U-Boot environment. This is a forward port of some remaining parts initially implemented by Antmicro.
Signed-off-by Marcel Ziswiler <[email protected]>Acked-by Marek Vasut <[email protected]>
Applied to u-boot-usb/master, thanks!
Best regards,
Marek Vasut
PATCH RESEND v5 1/1 generic-board: allow showing custom board info
In reply to Marcel ZiswilerFrom: Marcel Ziswiler <[email protected]>
Allow showing custom board info from a checkboard() function being implemented if CONFIG_CUSTOM_BOARDINFO is specified. Previously the device tree model was always displayed not taking any CONFIG_CUSTOM_BOARDINFO into account.
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek Changes in v2: reword commit message as requested by Simon
common/board_info.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
common/board_info.c +1 -1
@@ -18,7 +18,7 @@ int __weak checkboard(void)*/ int show_board_info (void ) { -#ifdef CONFIG_OF_CONTROL +#if defined(CONFIG_OF_CONTROL ) && !defined(CONFIG_CUSTOM_BOARDINFO )DECLARE_GLOBAL_DATA_PTR ;const char *model;
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 generic-board: allow showing custom board info
Quoted 9 lines · Marcel Ziswiler
From: Marcel Ziswiler <[email protected]>
Allow showing custom board info from a
checkboard()function being implemented ifCONFIG_CUSTOM_BOARDINFOis specified. Previously the device tree model was always displayed not taking anyCONFIG_CUSTOM_BOARDINFOinto account.Signed-off-by Marcel Ziswiler <[email protected]>Reviewed-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150813/c0faecf3/attachment.sig>
PATCH RESEND v5 1/1 logos: add Toradex logo
In reply to Marcel ZiswilerFrom: Stefan Agner <[email protected]>
Use the boot loader splash screen from WinCE which matches our wallpapers position wise. Although the logo is an 8-bit indexed BMP as well colours looked odd at first in U-Boot. After converting to full RGB palette and converting back to an indexed BMP using imagemagick the Logo showed up properly.
$ convert tools/logos/toradex-rgb.bmp -type Palette -colors 256 \ -compress none -verbose BMP3:tools/logos/toradex.bmp
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek
tools/logos/toradex.bmp | Bin 0 -> 24982 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 tools/logos/toradex.bmp
tools/logos/toradex.bmp new file binary +0 -0
z)o?ge$H&KN5I<3e=V$8d>X=FOvUf4RF-9GwOXm?&!4O0&+n+q7w at T?zki_KefM4U z{>E%7cX9 at 4?p}+ee}^sYW=T|)$^Ax)NlX&5B0nM{8Rnmznm5KKVp_st_Yv(G+L zFJHb?UwrX}tr*!)mLAArM~|9YxTH->7fD{Z at VV-FNEy@4r_+{P2VN at y8$4Pe1*n ze*XDq7JPr*Bd|wckH8**|6c?$-BY$WuXH)>+4$GltT&d^DwHM*ot!Z`8f993j0- z)2$!rUtO!-SQ0X^-mmg*71<5T=*=whD64cerzMc+B?zC=6_$mH3O3tvSK1o<LQ{fn zB&EG%WnAcLMi@*>T@|n=0S?u4y2i3urHi;E<0ZADLN604a at 3Vdz+-S{=(3z(U(17X znYN6Qr7kB^4V;ov=iHE?rY_KKnQ&(-KGM5~6zSz0hL2#*Gz!F5#Bx;SV790BUc(Z0 zTv-Oqn?tM$W9kcC%w|iVo9ld5RfuJ#p|YwFOR0^@Y6e(ik%uM7P-H~~<OiomlLh zi_r+?4k#c_Knq%8Lx*KlVfCBAQpF%dg7c}COP$KqNCS@*)L<ptlZ5j)M9DRW$Uw!Q z-k5_FV`hXv#kzp!44-Z7RD;q@sjZ_v)g>(yr6y$P3UnRR#$JdDh!I0)kSeB$piwli zoMCm70SR_rmkN-I^b~gactsR=W&uNkn%r4}ZY+6frZ7y<DoivOB15BQY;7$~)rcVC z=5Pg7GEf>S2_kA?G+<#9tYAS&ASQ!Xr<WlHmeajtaEYWk$(JBrlH-XCOA}>0*K!x; z-B at Ca2s%}0dokq%Dw5+IL1Ak-Q^#^bYnnQ9HPUNgiS<~)g3>jFWrb^jJ7eblQ;MrE z)6qmnQw<9XREmU~Rys%ZlDn0p6HB%TK#rXgjE<WkInxP8Y-?%RH-?(yvgE|o3U36I zy=0cr7A!*yg!+BllM1CTm$3el0<U1hP{gTT;*zy@$Ga0t=w<Y>oIrxH=TwAO&Jie; z)Q0qODds^L?T!Li5>?ehFKK<y960gsFET__#84?)eHj~bgPJEg^L}M-1!Nw9222k z#pP!%)Qj!qOy#IJBd}*P@DFTu*<Mn7VrvU*M(zpjCY6j6KCxX*aM5=$>d;GEPKY4c z%LW6(=k?zrh(^O6LjJbQQ{RaBrJ{1v)0XWhaD~?jQcR00xyjh7%-bxT%;)~_XILD z4)U`x!I9$#ZS55Ku~W9hJ-tlHbmll6VMZ|t%HkSRf%G%<R<zp*F|eFocV@;W5!i!g zoKlE6g)Cw@gLp6pq2%sZduzNZXG>k+1?)ry5jMn^Xzu~;8BGGmm#Aww#h0|+q!!~# zh|6L4E_wD6s9=nX)w<58B1W(%tX?KylBO^-gk@Fbvl2(-1+b38edRD5!c^it(YUM= z&?yoTHYX)2pWGqK$-{CAf%pV=G}I6#1ou6-z#n_PzLusJYp>30La$jzNfJSJwFaq zKm^)M>pG)S7+EYcbZEv&!Tt+&L*&AU0c{3E1wSgXK;f9G3NNJg|BhJ$V&%C8XMV z5yY12fL>_nce%}xkrI(bJujQSb{aBV0~vme{n2hSa*5*<k?fC0MP7vz}YlXXD_cJ zFydwrm~GgPqq*BDWh79O*iIzw*ceaomteE&$s2sVf}SgG9i;!-UHn2#mE=6fev< zkw?34wneOO$9roR?Wz<c$)x6xJ>k3x3Z=X%$Oek)4R(1N?Q9!%p}udsM_Y at 9)Udq zdj$3f>=D=_ut#7g1dfhR;S1NZ)A5s?x@~D3CDUxNSX at uy!IqYx>XUQ^oo}Y;rl8-k z7=~y_Sua}B_%8Q{<7bywk}ggk??@{yFtzrODuu13q}y2?kiiZ1p)-cw+LQpOIj5Z z04l;B4L0~ifuwSd2hyRrbVrW3!=C<Z1=h5ns&vulJU9VXzr&++q%^1QyNVZ7x);W zmR56rXErFYa#5q>Jq+MoTP at vA;FTe!r(UZj3!T>|jGMM;$+WZJo<&4SvVQNwDa-T z<7W*d;ql_QMSep;2+PAci{oD_Pqx7=*0e{#Y~UESmGXFnWe&^1b*qhrGv#Iq(lXQf zlqs~-fQucgCe4oLCl_rfp=8|AJX9RO5?%qd(+Xdqn6weglu&CDsMc6w2RIC|(E3_9 zn0wk#aH6tJ>lvbX5vjUl#jSe*F-lMxW~s~D6g(|(9AZLL(!;pQh<#RuBvzw*_+( zmZK}&L?U5^rnV}U}>R*PnL*<;6HbRgItRiH(OT><{=Aezw*Gorfj*<m(f?!=t9D zvTu}-=Vj$%z3(RCt at N<^~@zRU5E8F{tF$m83E?KvuA9u^7!vKRaJAM79fBTUv*y zQRiD0ZB$XO!t+1$)!pK1Bi7OomuQ!nTto=-Rd<hERE^T{F#NX@i2)7bYm&1BB&ED zL(ySrEM1MoiGkeCfjT6sOfT=9$c9$VVOq?S>qM$<r;g}xjT2<LeMKX?e15vX<|8I z1!=s081cA_>+Z&qhgvy6h#B*+ScX{~va&91Fxx?ENy%S;1p|o7f&f+Y<=Z6HCt{0 z7w*8k>>Fnv1EhZig%1j=OJr8Ig5d*S!G at Lo}1uI7bOB7DJvd(J7|2Ewtfqz;KLs zQWD{yQL=%xKOUIVm7d3ohijsI+3^?1JH>jW7hP>K*ZQN!ZISw53pdZkLrMX*ro7 zHz?Mqi}b<ffVmiBT5GoD;WUJxD?7K{2fpP~^(Xus1(RJBY;aFSQ?Nad&Y0BJF)cI z_+9B^Q)EL}^12i^<hRRdiJIlxNz3m68!8SI3NQ_<qpOC2sW%Tiji349(8cNTv2#TD zbb4`R7I}PAm2U4g%5JNoHjD<AG_}EZ{R{yu-!3digvC4{FV6&Hxj<BdELbslUQdWt zK*gKXjkmuxT7e%Z?UWpFsEB9ev?Xpor#<B33l7-Rl|Mds8IH*}D0M7{-Md2uihNQR zmQ1T<EpcePVsRD+B!e%49r__wt+|S6rBP?Hy||^m=CSoa-}c1J*ezwqN&LfpU7XGn zGMFqlNXYtR;tuQgfL0w#2F$K_pDP1M1MR|+09%E&)$olHCd860a*zd?)ioPT2EXb~ zZpzI5hd3;~SksrjGhdI<t(T$VGwDTp9}_dsM@#t8l}TdXp=}*Y__z;Jc$vhFOYl} zmgJyI8Ov-ct0V+h~*|0M4%!#0!IQw!d{$BH$g4dNCfP&-kf)5Y^b1i_f0FB1;RO zY!foMMT#bpty!xOmTt;@IcWMfVo4FAH&0$~R(QmcCp63gevBf*nXM5PgcH&-$pmcB zF02L8E_CmOCHWq!{)DB~($cy1{#erJHeyLL_nNS@SbFk?MD%yB(MVw0T(E1xE|Bu z5xI7Wg&vW*+Eq>GCcL~rI6{QGg|H0Iu3O_AE_y_a1f*7F&|<lj&8yw5P=9>1nReJ zw7PJ_a$iWnvawt9Nq6PzVY(b-n1Iuq5si7VbNH%Pe6k{w?X9pnmK?1GMLHxG&s$%j z(*})f$l9EU)rDs^82W8s!E?k|vOUV at fy86-!pOU<adqrRmwfp9NMiR(RLF<pOU9JX zBKZ?prG^ZGKc#gnISvdiQRiDQtV{C(J*k_B&c#^Y*w_LqF^G(f_FrWC9f!7Qad^9 zq1@KY^F2mqY|}oOqcKF|E}fs9d5pTDX%J$*>&p7V=}$AXKBQ!fhEZqR4v|Bu+lMT ztx#@AAzpj!!z6k&OsF*xAPwsxW6A2fjTQ~Tclocdfdm@$Ak*P$ayB+1cHNf-maGn~ za|c<P<jp6A|A9)nr(<@L8Q!>Jk(MSjZt8Yg{KSM%=k^<5A(GdQ8DhfQZpKk_uO zg=GJu^#+y$4(Ho&@X%xgjEy at tG(z%BxMMSsoedf<akH}z8~_=2W2UGdEtneG*ujri zcqHy<L74Zsi-8OPd37c3d@G>_mPR7^p{(uB%3u$7%!xwFG_qTm+isjW<YKW2%(4|$ zGk6kT%GpwrmN^U(TJWP2tBz(af;P4xQS))5V)lOH)5Ov!=52i^$WVHFPcB$D!DK_) zcn217+-)bqoWL#X4j+C=$Vp7cCR)-)5NF!V$Gi<{!nOH%!@+uAYuVgG0z>o0#(%*I zKhw37FCv*>Ywp|{)fn9<Je(3f<Mjf<0E?lECoN8WXmOi0dorV=JHI$X$vap19m4< z)_YSg@t1d;mJ;^m``BVy5=K|-0;gN9>?e@!8b5_ztv4LK;BVm3h38(ALUu at b4cC z3*$J5vBlEpuLfEa{|9IpLSn{^?F{%e;oN=i0F#g1y1V%Z7kt8dnQ%IVv)<)lDtWk z&a&44MDoR=SeeaKWV8^D0I*mVt~PJGOmE9#<+EV64omZv35q*tnIPTyZuWZ5)f&7 z-0QnZ<Au)qzUx5-0W9t78Nrn9@m3^6|>cMjrbfb_@#o*NK0+sFpH85hr<%SLUPny zE|XoV@k7oK<8Ll8?R>UQf{oje5g!dZu{Y;JSgM3SvvA_W*F$cfAp}RVe5D<G(7}wO z6e)$fZ+uN}v7%n9Vnk}?VW|S2%6PQQi!(p$=S@M~9ErSJ??<%_(ACwm{+}5T?I4zF z2tNb$lY7fi6UhIL0Gf+Ijq4z<vU*U!B!GoE-C;)X0T){rA4>=yyJ at w83nXkzX3_A8 zHL<%Nj>fWqygWbM5y|ixM_$oHzUW)u&fB58h?8WuMhmOl+nmPNO9K at AHaUbOvk-H- zE*B{p0Wza?ECHRF&|1}KMT;Vb)I5kuun;XMHbOJ?nlSt)6?<s<Nog35(?jRYx&= z5R@ieP#6+}Q39>fxM>5Rcrs}hTgJj-f-H;$3}Oild(o;>{w1C^VEN|7>B92OOY%w_ zdFLhp+AEQGeVyJeER(d6*cUDur4n_#KA3t at db_ZcO^xrQ1NkjBvKKI~(CF>L(rs!2 z2-+e!9eV{h?$qTi!_w>wENsEd9?O0z;Wo at c7^!gG3~>69zH_U$O)phkc7Ir6YWyAU RodMc0QTRs=7z!{{x@?rvLx|
literal 0
HcmV?d00001
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 logos: add Toradex logo
Quoted 8 lines · Marcel Ziswiler
From: Stefan Agner <[email protected]>
Use the boot loader splash screen from WinCE which matches our wallpapers position wise. Although the logo is an 8-bit indexed BMP as well colours looked odd at first in U-Boot. After converting to full RGB palette and converting back to an indexed BMP using imagemagick the Logo showed up properly.
Quoted 5 lines
$ convert tools/logos/toradex-rgb.bmp -type Palette -colors 256 \ -compress none -verbose BMP3:tools/logos/toradex.bmpSigned-off-by Stefan Agner <[email protected]>Signed-off-by Marcel Ziswiler <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150813/aead302d/attachment.sig>
PATCH RESEND v5 1/1 colibri_vf: remove spurious new line
In reply to Marcel ZiswilerFrom: Marcel Ziswiler <[email protected]>
Remove spurious new line in configuration file.
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek
include/configs/colibri_vf.h | 1 - 1 file changed, 1 deletion(-)
include/configs/colibri_vf.h +0 -1
@@ -69,7 +69,6 @@"512k(u-boot-env)," \ "-(ubi)" -#define CONFIG_MMC #define CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_ESDHC_ADDR 0
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 colibri_vf: remove spurious new line
Quoted 7 lines · Marcel Ziswiler
From: Marcel Ziswiler <[email protected]>
Remove spurious new line in configuration file.
Signed-off-by Marcel Ziswiler <[email protected]>Tested-by Marek Vasut <[email protected]>Acked-by Marek Vasut <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150813/24cb202c/attachment.sig>
PATCH RESEND v5 1/1 image-fdt.c: store returned error value
In reply to Marcel ZiswilerFrom: Max Krummenacher <[email protected]>
This fixes the following warning (and the runtime error reporting):../common/image-fdt.c:491:4: warning: 'fdt_ret' may be used uninitialized in this function [-Wmaybe-uninitialized]
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek
Changes in v2: run it through checkpatch.pl and replace spaces with tab
common/image-fdt.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
common/image-fdt.c +2 -1
@@ -492,7 +492,8 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob, } }if (IMAGE_OF_SYSTEM_SETUP ) { -if (ft_system_setup (blob, gd->bd)) { + fdt_ret =ft_system_setup (blob, gd->bd); +if (fdt_ret) {printf ("ERROR: system-specific fdt fixup failed: %s\n" ,fdt_strerror (fdt_ret)); goto err;
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 image-fdt.c: store returned error value
Quoted 10 lines · Marcel Ziswiler
From: Max Krummenacher <[email protected]>
This fixes the following warning (and the runtime error reporting):
../common/image-fdt.c:491:4: warning: 'fdt_ret' may be used uninitialized in this function [-Wmaybe-uninitialized]Signed-off-by Max Krummenacher <[email protected]>Signed-off-by Marcel Ziswiler <[email protected]>Acked-by Marek Vasut <[email protected]>Acked-by Simon Glass <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150813/c7fe8268/attachment.sig>
PATCH RESEND v5 1/1 mtd/nand/ubi: assortment of alignment fixes
In reply to Marcel ZiswilerFrom: Marcel Ziswiler <[email protected]>
Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer alignment into account which led to failures of the following form:
ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek Changes in v4: move wrapper to common.h as suggested by Scott Changes in v3: introduce malloc_cache_aligned() as suggested by Scott Changes in v2: run it through checkpatch.pl and fix long lines
common/cmd_ubi.c | 2 +- drivers/mtd/nand/nand_util.c | 2 +- fs/ubifs/super.c | 5 +++-- fs/ubifs/ubifs.c | 4 ++-- include/common.h | 7 +++++++ lib/gzip.c | 2 +- 6 files changed, 15 insertions(+), 7 deletions(-)
common/cmd_ubi.c +1 -1
@@ -363,7 +363,7 @@ int ubi_volume_read(char *volume, char *buf, size_t size) tbuf_size = vol->usable_leb_size;if (size < tbuf_size) tbuf_size =ALIGN (size, ubi->min_io_size); - tbuf =malloc (tbuf_size); + tbuf =malloc_cache_aligned (tbuf_size);if (!tbuf) {printf ("NO MEM\n" );return ENOMEM ;
drivers/mtd/nand/nand_util.c +1 -1
@@ -839,7 +839,7 @@ int nand_torture(nand_info_t *nand, loff_t offset) patt_count =ARRAY_SIZE (patterns); - buf =malloc (nand->erasesize); + buf =malloc_cache_aligned (nand->erasesize);if (buf ==NULL ) {puts ("Out of memory for erase block buffer\n" );return -ENOMEM ;
fs/ubifs/super.c +3 -2
@@ -57,7 +57,8 @@ struct inode *iget_locked(struct super_block *sb, unsigned long ino) {struct inode *inode; - inode = (struct inode *)malloc (sizeof (struct ubifs_inode )); + inode = (struct inode *)malloc_cache_aligned ( +sizeof (struct ubifs_inode ));if (inode) { inode->i_ino = ino; inode->i_sb = sb;
@@ -104,7 +105,7 @@ void iput(struct inode *inode)/* * Allocate and use new inode */ - ino = (struct inode *)malloc (sizeof (struct ubifs_inode )); + ino = (struct inode *)malloc_cache_aligned (sizeof (struct ubifs_inode ));memcpy (ino, inode,sizeof (struct ubifs_inode ));/*
fs/ubifs/ubifs.c +2 -2
@@ -108,7 +108,7 @@ static inline struct crypto_comp *crypto_alloc_comp(const char *alg_name,struct crypto_comp *ptr;int i =0 ; - ptr =malloc (sizeof (struct crypto_comp )); + ptr =malloc_cache_aligned (sizeof (struct crypto_comp ));while (i <UBIFS_COMPR_TYPES_CNT ) { comp = ubifs_compressors[i];if (!comp) {
@@ -723,7 +723,7 @@ static int do_readpage(struct ubifs_info *c, struct inode *inode,* destination area to a multiple of * UBIFS_BLOCK_SIZE. */ - buff =malloc (UBIFS_BLOCK_SIZE ); + buff =malloc_cache_aligned (UBIFS_BLOCK_SIZE );if (!buff) {printf ("%s: Error, malloc fails!\n" , __func__);
include/common.h +7 -0
@@ -1010,6 +1010,13 @@ int cpu_release(int nr, int argc, char * const argv[]);#define DEFINE_CACHE_ALIGN_BUFFER (type, name, size) \ DEFINE_ALIGN_BUFFER(type, name, size, ARCH_DMA_MINALIGN) +#include <malloc.h> + +static inline void *malloc_cache_aligned (size_t size) +{ +return memalign (ARCH_DMA_MINALIGN ,ALIGN (size,ARCH_DMA_MINALIGN )); +} +/* * check_member() - Check the offset of a structure member *
lib/gzip.c +1 -1
@@ -25,7 +25,7 @@ static void *zalloc(void *x, unsigned items, unsigned size) size *= items; size = (size +ZALLOC_ALIGNMENT -1 ) & ~(ZALLOC_ALIGNMENT -1 ); - p =malloc (size); + p =malloc_cache_aligned (size);return (p); }
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 mtd/nand/ubi: assortment of alignment fixes
Quoted 11 lines · Marcel Ziswiler
From: Marcel Ziswiler <[email protected]>
Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer alignment into account which led to failures of the following form:
ERROR:
v7_dcache_inval_range- start address is not aligned -0x1f7f0108
ERROR:v7_dcache_inval_range- stop address is not aligned -0x1f7f1108Signed-off-by Marcel Ziswiler <[email protected]>Reviewed-by Simon Glass <[email protected]>Acked-by Scott Wood <[email protected]>
This change causes a huge number of boards to fail to build due to some hidden #define games. The actual error message doesn't provide helpful context but building for say "spear300" will show the problem. Thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150812/9ca395f4/attachment.sig>
PATCH RESEND v5 1/1 mtd/nand/ubi: assortment of alignment fixes
Quoted 17 lines · Tom Rini
Quoted 6 lines · Marcel Ziswiler
From: Marcel Ziswiler <[email protected]>
Various U-Boot adoptions/extensions to MTD/NAND/UBI did not take buffer
alignment into account which led to failures of the following form:Quoted 8 lines
ERROR:
v7_dcache_inval_range- start address is not aligned -0x1f7f0108
ERROR:v7_dcache_inval_range- stop address is not aligned -0x1f7f1108Signed-off-by Marcel Ziswiler <[email protected]>Reviewed-by Simon Glass <[email protected]>Acked-by Scott Wood <[email protected]>
Quoted 5 lines
This change causes a huge number of boards to fail to build due to some
hidden #define games. The actual error message doesn't provide helpful
context but building for say "spear300" will show the problem.
Uups, I see your point. I guess one should not include regular header files like malloc.h in assembler .S files (;-p). I will send a v6 which will wrap my wrapper in __ASSEMBLY__ which fixes this.
Quoted 1 line
Thanks!
You are very welcome.
PATCH RESEND v5 1/1 tftp.c: fix CONFIG_TFTP_TSIZE for small files
In reply to Marcel ZiswilerFrom: Max Krummenacher <[email protected]>
CONFIG_TFTP_TSIZE should limit a tftp downloads progress to 50 '#' chars. Make this work also for small files.
If the file size is small, i.e. smaller than 2 tftp block sizes the number of '#' can get much larger. i.e. with a 1 byte file 65000 characters are printed, with a 512 byte file around 500.
When using CONFIG TFTP BLOCKSIZE together with CONFIG_IP_DEFRAG the issue is more notable.
---
Changes in v5: split up into separate patches to be picked up by the various subsystem maintainers as suggested by Marek Changes in v2: run it through checkpatch.pl and fix missing space in if clause as suggested by Marek
net/tftp.c | 2 ++ 1 file changed, 2 insertions(+)
net/tftp.c +2 -0
@@ -249,6 +249,8 @@ static void show_block_marker(void)if (tftp_tsize) {ulong pos = tftp_cur_block * tftp_block_size + tftp_block_wrap_offset; +if (pos > tftp_tsize) + pos = tftp_tsize;while (tftp_tsize_num_hash < pos *50 / tftp_tsize) {putc ('#' );
Signature · 1 line
2.4.3
PATCH RESEND v5 1/1 tftp.c: fix CONFIG_TFTP_TSIZE for small files
Hi Marcel,
Quoted 9 lines · Marcel Ziswiler
From: Max Krummenacher <[email protected]>
CONFIG_TFTP_TSIZEshould limit a tftp downloads progress to 50 '#' chars. Make this work also for small files.If the file size is small, i.e. smaller than 2 tftp block sizes the number of '#' can get much larger. i.e. with a 1 byte file 65000 characters are printed, with a 512 byte file around 500.
Quoted 6 lines
When using CONFIG TFTP BLOCKSIZE together with
CONFIG_IP_DEFRAGthe issue is more notable.Signed-off-by Max Krummenacher <[email protected]>Signed-off-by Marcel Ziswiler <[email protected]>Reviewed-by Marek Vasut <[email protected]>
*The resend patch this time.
PATCH RESEND v5 1/1 tftp.c: fix CONFIG_TFTP_TSIZE for small files
In reply to Marcel ZiswilerHi Marcel,
Quoted 9 lines · Marcel Ziswiler
From: Max Krummenacher <[email protected]>
CONFIG_TFTP_TSIZEshould limit a tftp downloads progress to 50 '#' chars. Make this work also for small files.If the file size is small, i.e. smaller than 2 tftp block sizes the number of '#' can get much larger. i.e. with a 1 byte file 65000 characters are printed, with a 512 byte file around 500.
Quoted 6 lines
When using CONFIG TFTP BLOCKSIZE together with
CONFIG_IP_DEFRAGthe issue is more notable.Signed-off-by Max Krummenacher <[email protected]>Signed-off-by Marcel Ziswiler <[email protected]>Reviewed-by Marek Vasut <[email protected]>
Applied to u-boot-net, thanks!
-Joe
PATCH RESEND v5 1/1 fs/fs.c: read up to EOF when len would read past EOF
In reply to Marcel ZiswilerQuoted 20 lines · Marcel Ziswiler
From: Max Krummenacher <[email protected]>
http://lists.denx.de/pipermail/u-boot/2012-September/134347.html
allows for reading files in chunks from the shell.When this feature is used to read past the end of a file an error was returned instead of returning the bytes read up to the end of file. Thus the following fails in the shell:
offset = 0
len = chunksize
do
read file, offset, len
write data
untilbytes_read< lenThe patch changes the behaviour to printing an informational message and returning the actual read number of bytes aka read(2) behaviour for convenient use in U-Boot scripts.
Quoted 5 lines
Signed-off-by Max Krummenacher <[email protected]>Signed-off-by Marcel Ziswiler <[email protected]>Acked-by Marek Vasut <[email protected]>Signed-off-by Stefan Agner <[email protected]>Signed-off-by Marcel Ziswiler <[email protected]>
Applied to u-boot/master, thanks!
Signature · 8 lines
Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150813/5e8616cb/attachment.sig>