Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:
  ieee1394: dv1394: move deprecation message from module init to file open
  firewire: core: Remove card from list of cards when enable fails
This commit is contained in:
Linus Torvalds 2009-02-06 08:48:16 -08:00
commit 5e3bd4e4b1
2 changed files with 12 additions and 5 deletions

View file

@ -412,6 +412,7 @@ fw_card_add(struct fw_card *card,
{ {
u32 *config_rom; u32 *config_rom;
size_t length; size_t length;
int err;
card->max_receive = max_receive; card->max_receive = max_receive;
card->link_speed = link_speed; card->link_speed = link_speed;
@ -422,7 +423,13 @@ fw_card_add(struct fw_card *card,
list_add_tail(&card->link, &card_list); list_add_tail(&card->link, &card_list);
mutex_unlock(&card_mutex); mutex_unlock(&card_mutex);
return card->driver->enable(card, config_rom, length); err = card->driver->enable(card, config_rom, length);
if (err < 0) {
mutex_lock(&card_mutex);
list_del(&card->link);
mutex_unlock(&card_mutex);
}
return err;
} }
EXPORT_SYMBOL(fw_card_add); EXPORT_SYMBOL(fw_card_add);

View file

@ -1823,6 +1823,10 @@ static int dv1394_open(struct inode *inode, struct file *file)
#endif #endif
printk(KERN_INFO "%s: NOTE, the dv1394 interface is unsupported "
"and will not be available in the new firewire driver stack. "
"Try libraw1394 based programs instead.\n", current->comm);
return 0; return 0;
} }
@ -2567,10 +2571,6 @@ static int __init dv1394_init_module(void)
{ {
int ret; int ret;
printk(KERN_WARNING
"NOTE: The dv1394 driver is unsupported and may be removed in a "
"future Linux release. Use raw1394 instead.\n");
cdev_init(&dv1394_cdev, &dv1394_fops); cdev_init(&dv1394_cdev, &dv1394_fops);
dv1394_cdev.owner = THIS_MODULE; dv1394_cdev.owner = THIS_MODULE;
ret = cdev_add(&dv1394_cdev, IEEE1394_DV1394_DEV, 16); ret = cdev_add(&dv1394_cdev, IEEE1394_DV1394_DEV, 16);