From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Thu, 13 Aug 2015 23:59:20 +0300 From: Dan Carpenter To: ytkim@qca.qualcomm.com Cc: linux-bluetooth@vger.kernel.org Subject: re: Bluetooth: hciuart: Add support QCA chipset for UART Message-ID: <20150813205655.GA30361@mwanda> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hello Ben Young Tae Kim, The patch 0ff252c1976d: "Bluetooth: hciuart: Add support QCA chipset for UART" from Aug 10, 2015, leads to the following static checker warning: drivers/bluetooth/hci_qca.c:485 qca_debugfs_init() warn: passing casted pointer '&qca->tx_vote' to 'debugfs_create_bool()' 1 vs 32. drivers/bluetooth/hci_qca.c 482 &qca->ibs_recv_wakes); 483 debugfs_create_u64("ibs_recv_wake_acks", mode, ibs_dir, 484 &qca->ibs_recv_wacks); 485 debugfs_create_bool("tx_vote", mode, ibs_dir, (u32 *)&qca->tx_vote); debugfs_create_bool() is stupid, because the name says bool but it writes a u32. I am not sure why this is. Maybe because the sizeof _Bool is not defined in C? Anyway, this will not work and will also corrupt memory. 486 debugfs_create_u64("tx_votes_on", mode, ibs_dir, &qca->tx_votes_on); 487 debugfs_create_u64("tx_votes_off", mode, ibs_dir, &qca->tx_votes_off); 488 debugfs_create_bool("rx_vote", mode, ibs_dir, (u32 *)&qca->rx_vote); ^^^^ Same. 489 debugfs_create_u64("rx_votes_on", mode, ibs_dir, &qca->rx_votes_on); 490 debugfs_create_u64("rx_votes_off", mode, ibs_dir, &qca->rx_votes_off); regards, dan carpenter