From f05326611584d6d9e5b8bf1ac4853682181daaa6 Mon Sep 17 00:00:00 2001 From: Par-Gunnar Hjalmdahl Date: Tue, 5 Apr 2011 09:04:01 +0200 Subject: cg2900: Use correct struct for SCO start stream This patch corrects an issue where wrong structure was used when starting a SCO stream. ST-Ericsson Linux next: Not tested, ER 282957 ST-Ericsson ID: 333792 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ia36809fa623d4957f962410a3416beca2f657b9f Signed-off-by: Par-Gunnar Hjalmdahl Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/19948 Reviewed-by: Roger NILSSON1 Reviewed-by: Henrik POSSUNG Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/29800 Reviewed-by: Virupax SADASHIVPETIMATH Tested-by: Virupax SADASHIVPETIMATH --- drivers/staging/cg2900/mfd/cg2900_audio.c | 11 +++++++---- drivers/staging/cg2900/mfd/cg2900_chip.h | 3 --- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/cg2900/mfd/cg2900_audio.c b/drivers/staging/cg2900/mfd/cg2900_audio.c index a7b8eda4305..2f00d79ed1e 100644 --- a/drivers/staging/cg2900/mfd/cg2900_audio.c +++ b/drivers/staging/cg2900/mfd/cg2900_audio.c @@ -33,7 +33,11 @@ #define MAX_NBR_OF_USERS 10 #define FIRST_USER 1 -#define DEFAULT_SCO_HANDLE 0x0008 +/* + * This is a default ACL handle. It is necessary to provide to the chip, but + * does not actually do anything. + */ +#define DEFAULT_ACL_HANDLE 0x0001 /* Use a timeout of 5 seconds when waiting for a command response */ #define RESP_TIMEOUT 5000 @@ -2040,7 +2044,7 @@ static void config_pcm_sco_stream(struct audio_info *info, void *_priv, /* codec mode and parameters not used */ cfg->inport.type = CG2900_BT_VP_TYPE_BT_SCO; - cfg->inport.sco.acl_handle = cpu_to_le16(DEFAULT_SCO_HANDLE); + cfg->inport.sco.acl_handle = cpu_to_le16(DEFAULT_ACL_HANDLE); cfg->outport.type = CG2900_BT_VP_TYPE_PCM; cfg->outport.pcm.index = CG2900_BT_SESSION_PCM_INDEX_PCM_I2S; @@ -2116,8 +2120,7 @@ static int conn_start_pcm_to_sco(struct audio_user *audio_user, /* zero codec params etc */ memset(&sco_cfg, 0, sizeof(sco_cfg)); - sco_cfg.acl_id = DEFAULT_SCO_HANDLE; - PORTCFG_SCO_SET_WBS(sco_cfg, 0); /* No WBS yet */ + sco_cfg.acl_id = DEFAULT_ACL_HANDLE; PORTCFG_SCO_SET_CODEC(sco_cfg, CG2900_CODEC_TYPE_NONE); err = send_vs_port_cfg(audio_user, CG2900_MC_PORT_BT_SCO, diff --git a/drivers/staging/cg2900/mfd/cg2900_chip.h b/drivers/staging/cg2900/mfd/cg2900_chip.h index 886015976d3..a53009f99d1 100644 --- a/drivers/staging/cg2900/mfd/cg2900_chip.h +++ b/drivers/staging/cg2900/mfd/cg2900_chip.h @@ -378,10 +378,7 @@ struct mc_vs_port_cfg_fm { struct mc_vs_port_cfg_sco { __le16 acl_id; __u8 wbs_codec; - __u8 sbc_params[3]; /* replace when we actually enable WBS... */ } __packed; -#define PORTCFG_SCO_SET_WBS(cfg, wbs) \ - set_low_nibble(&(cfg).wbs_codec, (wbs)) #define PORTCFG_SCO_SET_CODEC(cfg, codec) \ set_high_nibble(&(cfg).wbs_codec, (codec)) -- cgit v1.2.3