alistair23-linux/drivers/bluetooth
Marcel Holtmann 72dd2b2a44 Bluetooth: Fix endian and alignment issue with ath3k version handling
The ath3k driver is treating the version information badly when it
comes to loading the right firmware version and comparing that it
actually matches with the hardware.

Initially this showed up as this:

  CHECK   drivers/bluetooth/ath3k.c
drivers/bluetooth/ath3k.c:373:17: warning: cast to restricted __le32
drivers/bluetooth/ath3k.c:435:17: warning: cast to restricted __le32

However when fixing this by actually using __packed and __le32 for
the ath3_version structure, more issues came up:

  CHECK   drivers/bluetooth/ath3k.c
drivers/bluetooth/ath3k.c:381:32: warning: incorrect type in assignment (different base types)
drivers/bluetooth/ath3k.c:381:32:    expected restricted __le32 [usertype] rom_version
drivers/bluetooth/ath3k.c:381:32:    got int [signed] <noident>
drivers/bluetooth/ath3k.c:382:34: warning: incorrect type in assignment (different base types)
drivers/bluetooth/ath3k.c:382:34:    expected restricted __le32 [usertype] build_version
drivers/bluetooth/ath3k.c:382:34:    got int [signed] <noident>
drivers/bluetooth/ath3k.c:386:28: warning: restricted __le32 degrades to integer
drivers/bluetooth/ath3k.c:386:56: warning: restricted __le32 degrades to integer

This patch fixes every instance of the firmware version handling and
makes sure it is endian safe and uses proper unaligned access.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
2014-07-20 18:42:14 +03:00
..
ath3k.c Bluetooth: Fix endian and alignment issue with ath3k version handling 2014-07-20 18:42:14 +03:00
bcm203x.c
bfusb.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
bluecard_cs.c Bluetooth: bluecard: Use del_timer_sync() in teardown path 2014-03-23 10:30:22 -07:00
bpa10x.c Bluetooth: Declare bpa10x_table[] as const 2013-10-11 17:05:22 +02:00
bt3c_cs.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
btmrvl_debugfs.c Bluetooth: replace strict_strtol() with kstrtol() 2013-07-25 14:15:25 +01:00
btmrvl_drv.h Bluetooth: btmrvl: add public address configuration support 2014-07-19 02:33:21 +02:00
btmrvl_main.c Bluetooth: btmrvl: add public address configuration support 2014-07-19 02:33:21 +02:00
btmrvl_sdio.c Bluetooth: btmrvl: avoid sending data to firmware after hs_activated 2014-07-15 08:01:19 +02:00
btmrvl_sdio.h Bluetooth: btmrvl: indicate pscan scheduling instant in a debug event 2014-07-03 17:42:54 +02:00
btsdio.c Bluetooth: Use MD SET register for changing SDIO Type-B to Type-A 2013-12-29 21:31:07 +02:00
btuart_cs.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
btusb.c Bluetooth: add public address configuration for Marvell USB devices 2014-07-19 02:33:21 +02:00
btwilink.c Bluetooth: Add hdev parameter to hdev->send driver callback 2013-10-11 15:28:03 +02:00
dtl1_cs.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
hci_ath.c
hci_bcsp.c Bluetooth: Remove assignments in if-statements 2014-03-05 20:52:17 +02:00
hci_h4.c Bluetooth: Remove hci_h4 unused defines 2014-04-24 11:55:26 -03:00
hci_h5.c Bluetooth: Remove redundant calls to h5_reset_rx 2014-07-03 17:42:45 +02:00
hci_ldisc.c Bluetooth: Fix HCIUARTGETDEVICE ioctl when UART is not registered 2014-07-12 18:37:34 +03:00
hci_ll.c Bluetooth: Add hdev parameter to hdev->send driver callback 2013-10-11 15:28:03 +02:00
hci_uart.h Bluetooth: Add support for external configuration with UART driver 2014-07-11 13:59:50 +03:00
hci_vhci.c Bluetooth: Support HCI_QUIRK_EXTERNAL_CONFIG for hci_vhci driver 2014-07-04 21:10:22 +03:00
Kconfig Bluetooth: Remove trailing whitespaces from Kconfig 2014-07-03 17:42:43 +02:00
Makefile Bluetooth: Enable -D__CHECK_ENDIAN__ for sparse by default 2013-10-02 09:10:05 +03:00