From 304cfb572b5e9b14ed9b5ccd3893bbb7de4ee2ea Mon Sep 17 00:00:00 2001 From: YOSHIFUJI Hideaki Date: Fri, 8 Mar 2013 10:43:37 +0900 Subject: [PATCH] --- yaml --- r: 368635 b: refs/heads/master c: d9d2b484e0006d51591c3b9594e9d5f73b1a8d08 h: refs/heads/master i: 368633: 687e8b24b7e9c6f3bfbf24db1ad454b8781b0047 368631: 02ac103eac528e09dd7e3c3c02d06bafb3c120e4 v: v3 --- [refs] | 2 +- trunk/drivers/firewire/net.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 42cbf6afd8d7..0eb429a0ccfa 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f2090594dd28c033e0a9a267240ffca6d5afbd84 +refs/heads/master: d9d2b484e0006d51591c3b9594e9d5f73b1a8d08 diff --git a/trunk/drivers/firewire/net.c b/trunk/drivers/firewire/net.c index d8cb6ac31044..0dc2fdf00562 100644 --- a/trunk/drivers/firewire/net.c +++ b/trunk/drivers/firewire/net.c @@ -1228,6 +1228,8 @@ static int fwnet_broadcast_start(struct fwnet_device *dev) failed_rcv_queue: kfree(dev->broadcast_rcv_buffer_ptrs); dev->broadcast_rcv_buffer_ptrs = NULL; + for (u = 0; u < FWNET_ISO_PAGE_COUNT; u++) + kunmap(dev->broadcast_rcv_buffer.pages[u]); failed_ptrs_alloc: fw_iso_buffer_destroy(&dev->broadcast_rcv_buffer, dev->card); failed_buffer_init: @@ -1620,10 +1622,15 @@ static int fwnet_remove(struct device *_dev) fwnet_fifo_stop(dev); if (dev->broadcast_rcv_context) { + unsigned u; + fw_iso_context_stop(dev->broadcast_rcv_context); kfree(dev->broadcast_rcv_buffer_ptrs); dev->broadcast_rcv_buffer_ptrs = NULL; + for (u = 0; u < FWNET_ISO_PAGE_COUNT; u++) + kunmap(dev->broadcast_rcv_buffer.pages[u]); + fw_iso_buffer_destroy(&dev->broadcast_rcv_buffer, dev->card); fw_iso_context_destroy(dev->broadcast_rcv_context);