git: 50a61f8db532 - main - fwohci: Cast bitfield to uint32_t before passing it to roundup2().

John Baldwin jhb at FreeBSD.org
Wed Feb 17 21:12:40 UTC 2021


The branch main has been updated by jhb:

URL: https://cgit.FreeBSD.org/src/commit/?id=50a61f8db532676d7dc37410540fff7209b7c072

commit 50a61f8db532676d7dc37410540fff7209b7c072
Author:     John Baldwin <jhb at FreeBSD.org>
AuthorDate: 2021-02-17 21:12:06 +0000
Commit:     John Baldwin <jhb at FreeBSD.org>
CommitDate: 2021-02-17 21:12:06 +0000

    fwohci: Cast bitfield to uint32_t before passing it to roundup2().
    
    The fallback for __align_up() used by roundup2() uses __typeof__()
    which doesn't work for bitfields.  This fixes the build on GCC which
    uses the fallback.
    
    Reviewed by:    arichardson, markj
    Sponsored by:   Chelsio Communications
    Differential Revision:  https://reviews.freebsd.org/D28599
---
 sys/dev/firewire/fwohci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/dev/firewire/fwohci.c b/sys/dev/firewire/fwohci.c
index 30eca83900e7..634c78e6afe8 100644
--- a/sys/dev/firewire/fwohci.c
+++ b/sys/dev/firewire/fwohci.c
@@ -2696,7 +2696,7 @@ fwohci_get_plen(struct fwohci_softc *sc, struct fwohci_dbch *dbch, struct fw_pkt
 	info = &tinfo[fp->mode.common.tcode];
 	r = info->hdr_len + sizeof(uint32_t);
 	if ((info->flag & FWTI_BLOCK_ASY) != 0)
-		r += roundup2(fp->mode.wreqb.len, sizeof(uint32_t));
+		r += roundup2((uint32_t)fp->mode.wreqb.len, sizeof(uint32_t));
 
 	if (r == sizeof(uint32_t)) {
 		/* XXX */


More information about the dev-commits-src-all mailing list