Bluetooth: Use MD SET register for changing SDIO Type-B to Type-A

The register for setting the SDIO card mode of a Type-B Bluetooth card
is called MD SET. The MD STAT register is used for reading the current
mode back.

Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
This commit is contained in:
Marcel Holtmann 2013-12-28 22:10:02 -08:00 committed by Johan Hedberg
parent 5bc00b5c58
commit bc72197099

View File

@ -73,6 +73,7 @@ struct btsdio_data {
#define REG_CL_INTRD 0x13 /* Interrupt Clear */ #define REG_CL_INTRD 0x13 /* Interrupt Clear */
#define REG_EN_INTRD 0x14 /* Interrupt Enable */ #define REG_EN_INTRD 0x14 /* Interrupt Enable */
#define REG_MD_STAT 0x20 /* Bluetooth Mode Status */ #define REG_MD_STAT 0x20 /* Bluetooth Mode Status */
#define REG_MD_SET 0x20 /* Bluetooth Mode Set */
static int btsdio_tx_packet(struct btsdio_data *data, struct sk_buff *skb) static int btsdio_tx_packet(struct btsdio_data *data, struct sk_buff *skb)
{ {
@ -212,7 +213,7 @@ static int btsdio_open(struct hci_dev *hdev)
} }
if (data->func->class == SDIO_CLASS_BT_B) if (data->func->class == SDIO_CLASS_BT_B)
sdio_writeb(data->func, 0x00, REG_MD_STAT, NULL); sdio_writeb(data->func, 0x00, REG_MD_SET, NULL);
sdio_writeb(data->func, 0x01, REG_EN_INTRD, NULL); sdio_writeb(data->func, 0x01, REG_EN_INTRD, NULL);