mmc: core: Annotate cmd_hdr as __le32
authorJiri Slaby <jslaby@suse.cz>
Mon, 3 Oct 2016 08:58:28 +0000 (10:58 +0200)
committerSasha Levin <alexander.levin@verizon.com>
Tue, 1 Nov 2016 15:54:46 +0000 (11:54 -0400)
[ Upstream commit 3f2d26643595973e835e8356ea90c7c15cb1b0f1 ]

Commit f68381a70bb2 (mmc: block: fix packed command header endianness)
correctly fixed endianness handling of packed_cmd_hdr in
mmc_blk_packed_hdr_wrq_prep.

But now, sparse complains about incorrect types:
drivers/mmc/card/block.c:1613:27: sparse: incorrect type in assignment (different base types)
drivers/mmc/card/block.c:1613:27:    expected unsigned int [unsigned] [usertype] <noident>
drivers/mmc/card/block.c:1613:27:    got restricted __le32 [usertype] <noident>
...

So annotate cmd_hdr properly using __le32 to make everyone happy.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Fixes: f68381a70bb2 (mmc: block: fix packed command header endianness)
Cc: stable@vger.kernel.org
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
drivers/mmc/card/block.c
drivers/mmc/card/queue.h

index ccefd6ca9c99071d115972d70d0d6b3d2ed954e0..25939928d8fe67fb63740b6e451671f13d95ca43 100644 (file)
@@ -1652,7 +1652,7 @@ static void mmc_blk_packed_hdr_wrq_prep(struct mmc_queue_req *mqrq,
        struct mmc_blk_data *md = mq->data;
        struct mmc_packed *packed = mqrq->packed;
        bool do_rel_wr, do_data_tag;
-       u32 *packed_cmd_hdr;
+       __le32 *packed_cmd_hdr;
        u8 hdr_blocks;
        u8 i = 1;
 
index 99e6521e61696202c036dfb00fe6bdcd96c0f613..f42c11293dd8e1c6d114850e1a04a3c2e3d58c5e 100644 (file)
@@ -24,7 +24,7 @@ enum mmc_packed_type {
 
 struct mmc_packed {
        struct list_head        list;
-       u32                     cmd_hdr[1024];
+       __le32                  cmd_hdr[1024];
        unsigned int            blocks;
        u8                      nr_entries;
        u8                      retries;