rpms/libcrystalhd/devel libcrystalhd-updates.patch, 1.2, 1.3 libcrystalhd.spec, 1.2, 1.3

Jarod Wilson jwilson at fedoraproject.org
Mon Apr 5 03:22:34 UTC 2010


Author: jwilson

Update of /cvs/pkgs/rpms/libcrystalhd/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv29492

Modified Files:
	libcrystalhd-updates.patch libcrystalhd.spec 
Log Message:
* Sun Apr 04 2010 Jarod Wilson <jarod at redhat.com> - 0.9.25-4
- Fix segfault on firmware upload


libcrystalhd-updates.patch:
 b/.gitignore                                        |   72 
 b/driver/linux/.gitignore                           |    6 
 b/driver/linux/20-crystalhd.rules                   |    1 
 b/driver/linux/Makefile.in                          |   83 
 b/driver/linux/bcm_70012_dev.sh                     |  112 
 b/driver/linux/bcm_70012_run.sh                     |   94 
 b/driver/linux/configure.ac                         |   27 
 b/driver/linux/crystalhd_cmds.c                     | 2163 -
 b/driver/linux/crystalhd_cmds.h                     |  176 
 b/driver/linux/crystalhd_fw_if.h                    |  740 
 b/driver/linux/crystalhd_hw.c                       | 5095 +--
 b/driver/linux/crystalhd_hw.h                       |  810 
 b/driver/linux/crystalhd_lnx.c                      | 1528 -
 b/driver/linux/crystalhd_lnx.h                      |  192 
 b/driver/linux/crystalhd_misc.c                     | 2140 -
 b/driver/linux/crystalhd_misc.h                     |  420 
 b/examples/Makefile                                 |   12 
 b/examples/hellobcm.cpp                             |  550 
 b/examples/mpeg2test.cpp                            |  550 
 b/export-driver-for-staging.sh                      |   40 
 b/filters/gst/gst-plugin/AUTHORS                    |   34 
 b/filters/gst/gst-plugin/COPYING                    | 1008 
 b/filters/gst/gst-plugin/INSTALL                    |  474 
 b/filters/gst/gst-plugin/Makefile                   | 1310 
 b/filters/gst/gst-plugin/Makefile.am                |    6 
 b/filters/gst/gst-plugin/Makefile.in                | 1310 
 b/filters/gst/gst-plugin/aclocal.m4                 |17966 ++++++------
 b/filters/gst/gst-plugin/autogen.sh                 |  182 
 b/filters/gst/gst-plugin/autom4te.cache/output.0    |27738 ++++++++++----------
 b/filters/gst/gst-plugin/autom4te.cache/output.1    |27730 +++++++++----------
 b/filters/gst/gst-plugin/autom4te.cache/requests    |  560 
 b/filters/gst/gst-plugin/autom4te.cache/traces.0    | 4960 +--
 b/filters/gst/gst-plugin/autom4te.cache/traces.1    | 1206 
 b/filters/gst/gst-plugin/autoregen.sh               |    4 
 b/filters/gst/gst-plugin/config.guess               | 3052 +-
 b/filters/gst/gst-plugin/config.h                   |  132 
 b/filters/gst/gst-plugin/config.h.in                |  130 
 b/filters/gst/gst-plugin/config.log                 | 1308 
 b/filters/gst/gst-plugin/config.status              | 3836 +-
 b/filters/gst/gst-plugin/config.sub                 | 3316 +-
 b/filters/gst/gst-plugin/configure                  |27730 +++++++++----------
 b/filters/gst/gst-plugin/configure.ac               |  266 
 b/filters/gst/gst-plugin/depcomp                    | 1178 
 b/filters/gst/gst-plugin/gst-autogen.sh             |  616 
 b/filters/gst/gst-plugin/install-sh                 | 1038 
 b/filters/gst/gst-plugin/libtool                    |16728 ++++++------
 b/filters/gst/gst-plugin/ltmain.sh                  |15760 +++++------
 b/filters/gst/gst-plugin/m4/CVS/Entries             |    8 
 b/filters/gst/gst-plugin/m4/Makefile                |  690 
 b/filters/gst/gst-plugin/m4/Makefile.am             |    2 
 b/filters/gst/gst-plugin/m4/Makefile.in             |  690 
 b/filters/gst/gst-plugin/m4/as-compiler-flag.m4     |   50 
 b/filters/gst/gst-plugin/m4/as-version.m4           |  132 
 b/filters/gst/gst-plugin/missing                    |  734 
 b/filters/gst/gst-plugin/src/Makefile               | 1092 
 b/filters/gst/gst-plugin/src/Makefile.am            |   78 
 b/filters/gst/gst-plugin/src/Makefile.in            | 1092 
 b/filters/gst/gst-plugin/src/decif.c                |  392 
 b/filters/gst/gst-plugin/src/decif.h                |  162 
 b/filters/gst/gst-plugin/src/gstbcmdec.c            | 7084 ++---
 b/filters/gst/gst-plugin/src/gstbcmdec.h            |  862 
 b/filters/gst/gst-plugin/src/parse.c                |  670 
 b/filters/gst/gst-plugin/src/parse.h                |  226 
 b/filters/gst/gst-plugin/src/version.h              |  406 
 b/filters/gst/gst-plugin/src/version_lnx.h          |  222 
 b/filters/gst/gst-plugin/stamp-h1                   |    2 
 b/firmware/fwbin/70015/bcm70015fw.bin               |binary
 b/include/7411d.h                                   | 4798 +--
 b/include/bc_decoder_regs.h                         |  209 
 b/include/bc_dts_defs.h                             | 1127 
 b/include/bc_dts_glob_lnx.h                         |  607 
 b/include/bc_dts_types.h                            |  236 
 b/include/link/bc_defines.h                         |   96 
 b/include/link/bcm_70012_regs.h                     |24598 ++++++++---------
 b/include/vdec_info.h                               |  931 
 b/include/version_lnx.h                             |  167 
 b/linux_lib/libcrystalhd/.gitignore                 |    2 
 b/linux_lib/libcrystalhd/Makefile                   |  121 
 b/linux_lib/libcrystalhd/libcrystalhd_fwcmds.cpp    | 2517 -
 b/linux_lib/libcrystalhd/libcrystalhd_fwcmds.h      |  383 
 b/linux_lib/libcrystalhd/libcrystalhd_fwdiag_if.cpp |  565 
 b/linux_lib/libcrystalhd/libcrystalhd_fwdiag_if.h   |  205 
 b/linux_lib/libcrystalhd/libcrystalhd_fwload_if.cpp |  155 
 b/linux_lib/libcrystalhd/libcrystalhd_fwload_if.h   |   51 
 b/linux_lib/libcrystalhd/libcrystalhd_if.cpp        | 5081 ++-
 b/linux_lib/libcrystalhd/libcrystalhd_if.h          | 2666 +
 b/linux_lib/libcrystalhd/libcrystalhd_int_if.cpp    | 3010 +-
 b/linux_lib/libcrystalhd/libcrystalhd_int_if.h      |  551 
 b/linux_lib/libcrystalhd/libcrystalhd_parser.cpp    | 1273 
 b/linux_lib/libcrystalhd/libcrystalhd_parser.h      |  167 
 b/linux_lib/libcrystalhd/libcrystalhd_priv.cpp      | 3936 +-
 b/linux_lib/libcrystalhd/libcrystalhd_priv.h        |  782 
 b/linux_lib/libcrystalhd/ln-libcrystalhd.sh         |   24 
 driver/linux/Module.markers                         |   30 
 driver/linux/modules.order                          |    1 
 examples/build.sh                                   |    2 
 96 files changed, 124332 insertions(+), 118942 deletions(-)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.2 -r 1.3 libcrystalhd-updates.patchIndex: libcrystalhd-updates.patch
===================================================================
RCS file: /cvs/pkgs/rpms/libcrystalhd/devel/libcrystalhd-updates.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- libcrystalhd-updates.patch	26 Mar 2010 20:40:56 -0000	1.2
+++ libcrystalhd-updates.patch	5 Apr 2010 03:22:31 -0000	1.3
@@ -6,15 +6,15 @@
  driver/linux/bcm_70012_dev.sh                     |  112 +-
  driver/linux/bcm_70012_run.sh                     |   94 +-
  driver/linux/configure.ac                         |   27 +-
- driver/linux/crystalhd_cmds.c                     | 2132 +-
+ driver/linux/crystalhd_cmds.c                     | 2163 +-
  driver/linux/crystalhd_cmds.h                     |  176 +-
  driver/linux/crystalhd_fw_if.h                    |  740 +-
- driver/linux/crystalhd_hw.c                       | 5032 ++--
- driver/linux/crystalhd_hw.h                       |  809 +-
- driver/linux/crystalhd_lnx.c                      | 1527 +-
- driver/linux/crystalhd_lnx.h                      |  191 +-
- driver/linux/crystalhd_misc.c                     | 2095 +-
- driver/linux/crystalhd_misc.h                     |  457 +-
+ driver/linux/crystalhd_hw.c                       | 5095 ++--
+ driver/linux/crystalhd_hw.h                       |  810 +-
+ driver/linux/crystalhd_lnx.c                      | 1528 +-
+ driver/linux/crystalhd_lnx.h                      |  192 +-
+ driver/linux/crystalhd_misc.c                     | 2140 +-
+ driver/linux/crystalhd_misc.h                     |  420 +-
  driver/linux/modules.order                        |    1 -
  examples/Makefile                                 |   12 +
  examples/build.sh                                 |    2 -
@@ -67,6 +67,7 @@
  filters/gst/gst-plugin/src/version.h              |  406 +-
  filters/gst/gst-plugin/src/version_lnx.h          |  222 +-
  filters/gst/gst-plugin/stamp-h1                   |    2 +-
+ firmware/fwbin/70015/bcm70015fw.bin               |  Bin 0 -> 868372 bytes
  include/7411d.h                                   | 4798 ++--
  include/bc_decoder_regs.h                         |  209 +
  include/bc_dts_defs.h                             | 1127 +-
@@ -78,7 +79,7 @@
  include/version_lnx.h                             |  167 +-
  linux_lib/libcrystalhd/.gitignore                 |    2 +
  linux_lib/libcrystalhd/Makefile                   |  121 +-
- linux_lib/libcrystalhd/libcrystalhd_fwcmds.cpp    | 2514 +-
+ linux_lib/libcrystalhd/libcrystalhd_fwcmds.cpp    | 2517 +-
  linux_lib/libcrystalhd/libcrystalhd_fwcmds.h      |  383 +-
  linux_lib/libcrystalhd/libcrystalhd_fwdiag_if.cpp |  565 +-
  linux_lib/libcrystalhd/libcrystalhd_fwdiag_if.h   |  205 +-
@@ -93,7 +94,7 @@
  linux_lib/libcrystalhd/libcrystalhd_priv.cpp      | 3936 ++--
  linux_lib/libcrystalhd/libcrystalhd_priv.h        |  782 +-
  linux_lib/libcrystalhd/ln-libcrystalhd.sh         |   24 +-
- 95 files changed, 124224 insertions(+), 118942 deletions(-)
+ 96 files changed, 124332 insertions(+), 118942 deletions(-)
 
 diff --git a/.gitignore b/.gitignore
 new file mode 100644
@@ -565,10 +566,10 @@ index 5ef3771..5b89da7 100644
 +./Makefile
 +])
 diff --git a/driver/linux/crystalhd_cmds.c b/driver/linux/crystalhd_cmds.c
-index de72542..42ddb05 100644
+index de72542..ce29491 100644
 --- a/driver/linux/crystalhd_cmds.c
 +++ b/driver/linux/crystalhd_cmds.c
-@@ -1,1061 +1,1071 @@
+@@ -1,1061 +1,1102 @@
 -/***************************************************************************
 - * Copyright (c) 2005-2009, Broadcom Corporation.
 - *
@@ -1658,6 +1659,7 @@ index de72542..42ddb05 100644
 +
 +#include "crystalhd_cmds.h"
 +#include "crystalhd_hw.h"
++#include "crystalhd_lnx.h"
 +
 +static struct crystalhd_user *bc_cproc_get_uid(struct crystalhd_cmd *ctx)
 +{
@@ -1704,15 +1706,16 @@ index de72542..42ddb05 100644
 +static BC_STATUS bc_cproc_notify_mode(struct crystalhd_cmd *ctx,
 +				      crystalhd_ioctl_data *idata)
 +{
++	struct device *dev = chd_get_device();
 +	int rc = 0, i = 0;
 +
 +	if (!ctx || !idata) {
-+		BCMLOG_ERR("Invalid Arg!!\n");
++		dev_err(dev, "%s: Invalid Arg\n", __func__);
 +		return BC_STS_INV_ARG;
 +	}
 +
 +	if (ctx->user[idata->u_id].mode != DTS_MODE_INV) {
-+		BCMLOG_ERR("Close the handle first..\n");
++		dev_err(dev, "Close the handle first..\n");
 +		return BC_STS_ERR_USAGE;
 +	}
 +	if (idata->udata.u.NotifyMode.Mode == DTS_MONITOR_MODE) {
@@ -1720,15 +1723,15 @@ index de72542..42ddb05 100644
 +		return BC_STS_SUCCESS;
 +	}
 +	if (ctx->state != BC_LINK_INVALID) {
-+		BCMLOG_ERR("Link invalid state %d \n", ctx->state);
++		dev_err(dev, "Link invalid state %d \n", ctx->state);
 +		return BC_STS_ERR_USAGE;
 +	}
 +	/* Check for duplicate playback sessions..*/
 +	for (i = 0; i < BC_LINK_MAX_OPENS; i++) {
 +		if (ctx->user[i].mode == DTS_DIAG_MODE ||
 +		    ctx->user[i].mode == DTS_PLAYBACK_MODE) {
-+			BCMLOG_ERR("multiple playback sessions are not "
-+				   "supported..\n");
++			dev_err(dev, "multiple playback sessions are not "
++				"supported..\n");
 +			return BC_STS_ERR_USAGE;
 +		}
 +	}
@@ -1746,9 +1749,10 @@ index de72542..42ddb05 100644
 +static BC_STATUS bc_cproc_get_version(struct crystalhd_cmd *ctx,
 +				      crystalhd_ioctl_data *idata)
 +{
++	struct device *dev = chd_get_device();
 +
 +	if (!ctx || !idata) {
-+		BCMLOG_ERR("Invalid Arg!!\n");
++		dev_err(dev, "%s: Invalid Arg\n", __func__);
 +		return BC_STS_INV_ARG;
 +	}
 +	idata->udata.u.VerInfo.DriverMajor = crystalhd_kmod_major;
@@ -1760,8 +1764,10 @@ index de72542..42ddb05 100644
 +
 +static BC_STATUS bc_cproc_get_hwtype(struct crystalhd_cmd *ctx, crystalhd_ioctl_data *idata)
 +{
++	struct device *dev = chd_get_device();
++
 +	if (!ctx || !idata) {
-+		BCMLOG_ERR("Invalid Arg!!\n");
++		dev_err(dev, "%s: Invalid Arg\n", __func__);
 +		return BC_STS_INV_ARG;
 +	}
 +
@@ -1823,13 +1829,14 @@ index de72542..42ddb05 100644
 +static BC_STATUS bc_cproc_mem_rd(struct crystalhd_cmd *ctx,
 +				 crystalhd_ioctl_data *idata)
 +{
++	struct device *dev = chd_get_device();
 +	BC_STATUS sts = BC_STS_SUCCESS;
 +
 +	if (!ctx || !idata || !idata->add_cdata)
 +		return BC_STS_INV_ARG;
 +
 +	if (idata->udata.u.devMem.NumDwords > (idata->add_cdata_sz / 4)) {
-+		BCMLOG_ERR("insufficient buffer\n");
++		dev_err(dev, "insufficient buffer\n");
 +		return BC_STS_INV_ARG;
 +	}
 +	sts = crystalhd_mem_rd(ctx->adp, idata->udata.u.devMem.StartOff,
@@ -1842,13 +1849,14 @@ index de72542..42ddb05 100644
 +static BC_STATUS bc_cproc_mem_wr(struct crystalhd_cmd *ctx,
 +				 crystalhd_ioctl_data *idata)
 +{
++	struct device *dev = chd_get_device();
 +	BC_STATUS sts = BC_STS_SUCCESS;
 +
 +	if (!ctx || !idata || !idata->add_cdata)
 +		return BC_STS_INV_ARG;
 +
 +	if (idata->udata.u.devMem.NumDwords > (idata->add_cdata_sz / 4)) {
-+		BCMLOG_ERR("insufficient buffer\n");
++		dev_err(dev, "insufficient buffer\n");
 +		return BC_STS_INV_ARG;
 +	}
 +
@@ -1861,6 +1869,7 @@ index de72542..42ddb05 100644
 +static BC_STATUS bc_cproc_cfg_rd(struct crystalhd_cmd *ctx,
 +				 crystalhd_ioctl_data *idata)
 +{
++	struct device *dev = chd_get_device();
 +	uint32_t ix, cnt, off, len;
 +	BC_STATUS sts = BC_STS_SUCCESS;
 +	uint32_t *temp;
@@ -1881,7 +1890,7 @@ index de72542..42ddb05 100644
 +	for (ix = 0; ix < cnt; ix++) {
 +		sts = crystalhd_pci_cfg_rd(ctx->adp, off, len, &temp[ix]);
 +		if (sts != BC_STS_SUCCESS) {
-+			BCMLOG_ERR("config read : %d\n", sts);
++			dev_err(dev, "config read : %d\n", sts);
 +			return sts;
 +		}
 +		off += len;
@@ -1893,6 +1902,7 @@ index de72542..42ddb05 100644
 +static BC_STATUS bc_cproc_cfg_wr(struct crystalhd_cmd *ctx,
 +				 crystalhd_ioctl_data *idata)
 +{
++	struct device *dev = chd_get_device();
 +	uint32_t ix, cnt, off, len;
 +	BC_STATUS sts = BC_STS_SUCCESS;
 +	uint32_t *temp;
@@ -1913,7 +1923,7 @@ index de72542..42ddb05 100644
 +	for (ix = 0; ix < cnt; ix++) {
 +		sts = crystalhd_pci_cfg_wr(ctx->adp, off, len, temp[ix]);
[...2863 lines suppressed...]
@@ -13223,7 +13365,7 @@ index beb4cdc..9b0882f 100644
 +		adp->fill_byte_pool = NULL;
 +	}
 +
-+	BCMLOG(BCMLOG_DBG, "Released dio pool %d\n", count);
++	dev_dbg(&adp->pdev->dev, "Released dio pool %d\n", count);
 +}
 +
 +/**
@@ -13249,12 +13391,12 @@ index beb4cdc..9b0882f 100644
 +	for (i = 0; i < pool_size; i++) {
 +		temp = kzalloc(sizeof(*temp), GFP_KERNEL);
 +		if (!temp) {
-+			BCMLOG_ERR("kalloc failed\n");
++			dev_err(&adp->pdev->dev, "kzalloc failed\n");
 +			return -ENOMEM;
 +		}
 +		crystalhd_free_elem(adp, temp);
 +	}
-+	BCMLOG(BCMLOG_DBG, "allocated %d elem\n", pool_size);
++	dev_dbg(&adp->pdev->dev, "allocated %d elem\n", pool_size);
 +	return 0;
 +}
 +
@@ -13283,34 +13425,35 @@ index beb4cdc..9b0882f 100644
 +		}
 +	} while (temp);
 +
-+	BCMLOG(BCMLOG_DBG, "released %d elem\n", dbg_cnt);
++	dev_dbg(&adp->pdev->dev, "released %d elem\n", dbg_cnt);
 +}
 +
 +/*================ Debug support routines.. ================================*/
 +void crystalhd_show_buffer(uint32_t off, uint8_t *buff, uint32_t dwcount)
 +{
++	struct device *dev = chd_get_device();
 +	uint32_t i, k = 1;
 +
 +	for (i = 0; i < dwcount; i++) {
 +		if (k == 1)
-+			BCMLOG(BCMLOG_DATA, "0x%08X : ", off);
++			dev_dbg(dev, "0x%08X : ", off);
 +
-+		BCMLOG(BCMLOG_DATA, " 0x%08X ", *((uint32_t *)buff));
++		dev_dbg(dev, " 0x%08X ", *((uint32_t *)buff));
 +
 +		buff += sizeof(uint32_t);
 +		off  += sizeof(uint32_t);
 +		k++;
 +		if ((i == dwcount - 1) || (k > 4)) {
-+			BCMLOG(BCMLOG_DATA, "\n");
++			dev_dbg(dev, "\n");
 +			k = 1;
 +		}
 +	}
 +}
 diff --git a/driver/linux/crystalhd_misc.h b/driver/linux/crystalhd_misc.h
-index 2c7ebbc..a2aa6ad 100644
+index 2c7ebbc..3210370 100644
 --- a/driver/linux/crystalhd_misc.h
 +++ b/driver/linux/crystalhd_misc.h
-@@ -1,228 +1,229 @@
+@@ -1,228 +1,192 @@
 -/***************************************************************************
 - * Copyright (c) 2005-2009, Broadcom Corporation.
 - *
@@ -13580,9 +13723,6 @@ index 2c7ebbc..a2aa6ad 100644
 +#include <asm/system.h>
 +#include "bc_dts_glob_lnx.h"
 +
-+/* Global log level variable defined in crystal_misc.c file */
-+extern uint32_t g_linklog_level;
-+
 +/* Global element pool for all Queue management.
 + * TX: Active = BC_TX_LIST_CNT, Free = BC_TX_LIST_CNT.
 + * RX: Free = BC_RX_LIST_CNT, Active = 2
@@ -13630,7 +13770,7 @@ index 2c7ebbc..a2aa6ad 100644
 +	void				*fb_va;
 +	uint32_t			fb_size;
 +	dma_addr_t			fb_pa;
-+	struct _crystalhd_dio_req		*next;
++	struct _crystalhd_dio_req	*next;
 +} crystalhd_dio_req;
 +
 +#define BC_LINK_DIOQ_SIG	(0x09223280)
@@ -13638,8 +13778,8 @@ index 2c7ebbc..a2aa6ad 100644
 +typedef struct _crystalhd_elem_s {
 +	struct _crystalhd_elem_s	*flink;
 +	struct _crystalhd_elem_s	*blink;
-+	void			*data;
-+	uint32_t		tag;
++	void				*data;
++	uint32_t			tag;
 +} crystalhd_elem_t;
 +
 +typedef void (*crystalhd_data_free_cb)(void *context, void *data);
@@ -13647,8 +13787,8 @@ index 2c7ebbc..a2aa6ad 100644
 +typedef struct _crystalhd_dioq_s {
 +	uint32_t		sig;
 +	struct crystalhd_adp	*adp;
-+	crystalhd_elem_t		*head;
-+	crystalhd_elem_t		*tail;
++	crystalhd_elem_t	*head;
++	crystalhd_elem_t	*tail;
 +	uint32_t		count;
 +	spinlock_t		lock;
 +	wait_queue_head_t	event;
@@ -13733,40 +13873,6 @@ index 2c7ebbc..a2aa6ad 100644
 +/*================ Debug routines/macros .. ================================*/
 +extern void crystalhd_show_buffer(uint32_t off, uint8_t *buff, uint32_t dwcount);
 +
-+enum _chd_log_levels {
-+	BCMLOG_ERROR		= 0x80000000,	/* Don't disable this option */
-+	BCMLOG_DATA		= 0x40000000,	/* Data, enable by default */
-+	BCMLOG_SPINLOCK		= 0x20000000,	/* Spcial case for Spin locks*/
-+
-+	/* Following are allowed only in debug mode */
-+	BCMLOG_INFO		= 0x00000001,	/* Generic informational */
-+	BCMLOG_DBG		= 0x00000002,	/* First level Debug info */
-+	BCMLOG_SSTEP		= 0x00000004,	/* Stepping information */
-+	BCMLOG_ENTER_LEAVE	= 0x00000008,	/* stack tracking */
-+};
-+
-+#define BCMLOG_ENTER				\
-+if (g_linklog_level & BCMLOG_ENTER_LEAVE) {	\
-+	printk("Entered %s\n", __func__);	\
-+}
-+
-+#define BCMLOG_LEAVE				\
-+if (g_linklog_level & BCMLOG_ENTER_LEAVE) {	\
-+	printk("Leaving %s\n", __func__);	\
-+}
-+
-+#define BCMLOG(trace, fmt, args...)		\
-+if (g_linklog_level & trace) {			\
-+	printk(fmt, ##args);			\
-+}
-+
-+#define BCMLOG_ERR(fmt, args...)					\
-+do {									\
-+	if (g_linklog_level & BCMLOG_ERROR) {				\
-+		printk("*ERR*:%s:%d: "fmt, __FILE__, __LINE__, ##args);	\
-+	}								\
-+} while (0);
-+
 +#endif
 diff --git a/driver/linux/modules.order b/driver/linux/modules.order
 deleted file mode 100644
@@ -189359,6 +189465,10 @@ index e835fef..4547fe1 100644
 @@ -1 +1 @@
 -timestamp for config.h
 +timestamp for config.h
+diff --git a/firmware/fwbin/70015/bcm70015fw.bin b/firmware/fwbin/70015/bcm70015fw.bin
+new file mode 100755
+index 0000000..d802229
+Binary files /dev/null and b/firmware/fwbin/70015/bcm70015fw.bin differ
 diff --git a/include/7411d.h b/include/7411d.h
 index 737a776..8fdfa58 100644
 --- a/include/7411d.h
@@ -196363,7 +196473,7 @@ index 65b4202..e10f7d1 100644
 +#endif
 +
 diff --git a/include/link/bc_defines.h b/include/link/bc_defines.h
-index 11c7499..8b791b7 100644
+index 11c7499..71481a0 100644
 --- a/include/link/bc_defines.h
 +++ b/include/link/bc_defines.h
 @@ -1,48 +1,48 @@
@@ -196444,7 +196554,7 @@ index 11c7499..8b791b7 100644
 +//The AES and DCI H/W engines are big endian and hence the DATA needs to be
 +//byte swapped when loading the data registers in this block
 +#define rotr32_1(x,n)   (((x) >> n) | ((x) << (32 - n)))
-+#define bswap_32_1(x) (rotr32_1((x), 24) & 0x00ff00ff | rotr32_1((x), 8) & 0xff00ff00)
++#define bswap_32_1(x) ((rotr32_1((x), 24) & 0x00ff00ff) | (rotr32_1((x), 8) & 0xff00ff00))
 +
 +#define DCI_INITIATE_FW_DOWNLOAD	(0x1) //bit 0
 +#define DCI_DOWNLOAD_READY		(0x1<<4) //bit 4
@@ -222309,10 +222419,10 @@ index b2d0b39..2a503aa 100644
 +	(cd $(DESTDIR)$(LIBDIR); ln -sf $(BCLIB) $(BCLIB_SL))
 +
 diff --git a/linux_lib/libcrystalhd/libcrystalhd_fwcmds.cpp b/linux_lib/libcrystalhd/libcrystalhd_fwcmds.cpp
-index 796f5ce..da77c5a 100644
+index 796f5ce..71a128f 100644
 --- a/linux_lib/libcrystalhd/libcrystalhd_fwcmds.cpp
 +++ b/linux_lib/libcrystalhd/libcrystalhd_fwcmds.cpp
-@@ -1,1207 +1,1307 @@
+@@ -1,1207 +1,1310 @@
 -/********************************************************************
 - * Copyright(c) 2006-2009 Broadcom Corporation.
 - *
@@ -223614,6 +223724,9 @@ index 796f5ce..da77c5a 100644
 +
 +	DTS_GET_CTX(hDevice,Ctx);
 +
++	if (!(pIocData = DtsAllocIoctlData(Ctx)))
++		return BC_STS_INSUFF_RES;
++
 +	if (Ctx->DevId != BC_PCI_DEVID_FLEA)
 +	{
 +		DecCmdChannelStreamOpen		*pOpen;


Index: libcrystalhd.spec
===================================================================
RCS file: /cvs/pkgs/rpms/libcrystalhd/devel/libcrystalhd.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- libcrystalhd.spec	26 Mar 2010 20:40:59 -0000	1.2
+++ libcrystalhd.spec	5 Apr 2010 03:22:32 -0000	1.3
@@ -5,7 +5,7 @@
 Summary:        Broadcom Crystal HD device interface library
 Name:           libcrystalhd
 Version:        0.9.25
-Release:        3%{?dist}
+Release:        4%{?dist}
 License:        LGPLv2
 Group:          System Environment/Libraries
 %if %{with_firmware}
@@ -97,6 +97,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Sun Apr 04 2010 Jarod Wilson <jarod at redhat.com> - 0.9.25-4
+- Fix segfault on firmware upload
+
 * Fri Mar 26 2010 Jarod Wilson <jarod at redhat.com> - 0.9.25-3
 - Update to pre-0.9.26 libcrystalhd, which contains support
   for the new Broadcom BCM970015 Crystal HD decoder card



More information about the scm-commits mailing list