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