V4L/DVB (7890): cx18: removed bogus and confusing conditional
[safe/jmp/linux-2.6] / drivers / media / video / cx18 / cx18-driver.c
index 9453223..0dd4e05 100644 (file)
@@ -164,16 +164,6 @@ MODULE_LICENSE("GPL");
 
 MODULE_VERSION(CX18_VERSION);
 
-int cx18_waitq(wait_queue_head_t *waitq)
-{
-       DEFINE_WAIT(wait);
-
-       prepare_to_wait(waitq, &wait, TASK_INTERRUPTIBLE);
-       schedule();
-       finish_wait(waitq, &wait);
-       return signal_pending(current) ? -EINTR : 0;
-}
-
 /* Generic utility functions */
 int cx18_msleep_timeout(unsigned int msecs, int intr)
 {
@@ -220,13 +210,13 @@ static void cx18_process_eeprom(struct cx18 *cx)
 
        /* Many thanks to Steven Toth from Hauppauge for providing the
           model numbers */
+       /* Note: the Samsung memory models cannot be reliably determined
+          from the model number. Use the cardtype module option if you
+          have one of these preproduction models. */
        switch (tv.model) {
-       case 74000 ... 74099:
+       case 74000 ... 74999:
                cx->card = cx18_get_card(CX18_CARD_HVR_1600_ESMT);
                break;
-       case 74700 ... 74799:
-               cx->card = cx18_get_card(CX18_CARD_HVR_1600_SAMSUNG);
-               break;
        case 0:
                CX18_ERR("Invalid EEPROM\n");
                return;
@@ -914,8 +904,7 @@ static void cx18_remove(struct pci_dev *pci_dev)
 
        free_irq(cx->dev->irq, (void *)cx);
 
-       if (cx->dev)
-               cx18_iounmap(cx);
+       cx18_iounmap(cx);
 
        release_mem_region(cx->base_addr, CX18_MEM_SIZE);