From 434ce6c82f625e001fb03628e0567536c5cb7bc9 Mon Sep 17 00:00:00 2001 From: Stefan Richter Date: Sat, 27 Jan 2007 13:54:23 +0100 Subject: [PATCH] --- yaml --- r: 47319 b: refs/heads/master c: 12ba145c9406da72c8288245f352de7f37188f1f h: refs/heads/master i: 47317: 837d9614d494ff08d9c9f66d02ee8f0b4085c281 47315: 47dc9e524318c1a41e0a5e8b9d0ed1f0696fa29b 47311: 87c1c700a4d3c3a8cb707050b1baf856871ba340 v: v3 --- [refs] | 2 +- trunk/drivers/ieee1394/dv1394.c | 36 ++++++++++++--------------------- 2 files changed, 14 insertions(+), 24 deletions(-) diff --git a/[refs] b/[refs] index 643179316eac..8eedbe3d25c7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 88e7bf2a4c35d1200c2f72f5cd3d9e72c7f6c890 +refs/heads/master: 12ba145c9406da72c8288245f352de7f37188f1f diff --git a/trunk/drivers/ieee1394/dv1394.c b/trunk/drivers/ieee1394/dv1394.c index d636cfad7fcf..55d6ae664fd6 100644 --- a/trunk/drivers/ieee1394/dv1394.c +++ b/trunk/drivers/ieee1394/dv1394.c @@ -2255,47 +2255,37 @@ static int dv1394_init(struct ti_ohci *ohci, enum pal_or_ntsc format, enum modes return 0; } -static void dv1394_un_init(struct video_card *video) +static void dv1394_remove_host(struct hpsb_host *host) { - /* obviously nobody has the driver open at this point */ - do_dv1394_shutdown(video, 1); - kfree(video); -} - - -static void dv1394_remove_host (struct hpsb_host *host) -{ - struct video_card *video; + struct video_card *video, *tmp_video; unsigned long flags; - int id = host->id, found_ohci_card = 0; + int found_ohci_card = 0; - /* find the corresponding video_cards */ do { - struct video_card *tmp_vid; - video = NULL; - spin_lock_irqsave(&dv1394_cards_lock, flags); - list_for_each_entry(tmp_vid, &dv1394_cards, list) { - if ((tmp_vid->id >> 2) == id) { - list_del(&tmp_vid->list); - video = tmp_vid; + list_for_each_entry(tmp_video, &dv1394_cards, list) { + if ((tmp_video->id >> 2) == host->id) { + list_del(&tmp_video->list); + video = tmp_video; found_ohci_card = 1; break; } } spin_unlock_irqrestore(&dv1394_cards_lock, flags); - if (video) - dv1394_un_init(video); - } while (video != NULL); + if (video) { + do_dv1394_shutdown(video, 1); + kfree(video); + } + } while (video); if (found_ohci_card) class_device_destroy(hpsb_protocol_class, MKDEV(IEEE1394_MAJOR, IEEE1394_MINOR_BLOCK_DV1394 * 16 + (host->id << 2))); } -static void dv1394_add_host (struct hpsb_host *host) +static void dv1394_add_host(struct hpsb_host *host) { struct ti_ohci *ohci; int id = host->id;