diff -Naur /usr/src/development/v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c.org /usr/src/development/v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c
--- /usr/src/development/v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c.org  2007-05-01 19:31:13.000000000 +1200
+++ /usr/src/development/v4l-dvb/linux/drivers/media/dvb/dvb-core/dvb_ca_en50221.c      2007-05-02 22:13:23.000000000 +1200
@@ -666,12 +666,12 @@
        /* check for read error (RE should now be 0) */
        if ((status = ca->pub->read_cam_control(ca->pub, slot, CTRLIF_STATUS)) < 0)
                goto exit;
-       if (status & STATUSREG_RE) {
+/*     if (status & STATUSREG_RE) {
                ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_LINKINIT;
                status = -EIO;
                goto exit;
        }
-
+*/
        /* OK, add it to the receive buffer, or copy into external buffer if supplied */
        if (ebuf == NULL) {
                if (ca->slot_info[slot].rx_buffer.data == NULL) {
@@ -724,11 +724,11 @@
        /* check if interface is actually waiting for us to read from it, or if a read is in progress */
        if ((status = ca->pub->read_cam_control(ca->pub, slot, CTRLIF_STATUS)) < 0)
                goto exitnowrite;
-       if (status & (STATUSREG_DA | STATUSREG_RE)) {
+/*     if (status & (STATUSREG_DA | STATUSREG_RE)) {
                status = -EAGAIN;
                goto exitnowrite;
        }
-
+*/
        /* OK, set HC bit */
        if ((status = ca->pub->write_cam_control(ca->pub, slot, CTRLIF_COMMAND,
                                                 IRQEN | CMDREG_HC)) != 0)
@@ -759,11 +759,12 @@
        /* check for write error (WE should now be 0) */
        if ((status = ca->pub->read_cam_control(ca->pub, slot, CTRLIF_STATUS)) < 0)
                goto exit;
-       if (status & STATUSREG_WE) {
+/*     if (status & STATUSREG_WE) {
                ca->slot_info[slot].slot_state = DVB_CA_SLOTSTATE_LINKINIT;
                status = -EIO;
                goto exit;
        }
+*/
        status = bytes_write;

        dprintk("Wrote CA packet for slot %i, connection id 0x%x last_frag:%i size:0x%x\n", slot,
