diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-04 15:38:12 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-04 15:38:12 -0700 |
commit | e620d1e39aa33b43bed96aa7f2ebbc88914aed58 (patch) | |
tree | 0e8a0c36430f10c1e490464f1d6524ce5612f614 /drivers/media/video/pvrusb2/pvrusb2-v4l2.c | |
parent | d2dd328b7f7bc6cebe167648289337755944ad2a (diff) | |
parent | 666092c679f7d9eb9f5230087f960a487fda721c (diff) |
Merge branch 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'v4l_for_2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (87 commits)
V4L/DVB: ivtv: Timing tweaks and code re-order to try and improve stability
V4L/DVB: ivtv: Avoid accidental video standard change
V4L/DVB: ivtvfb : Module load / unload fixes
V4L/DVB: cx2341x: Report correct temporal setting for log-status
V4L/DVB: cx18, cx23885, v4l2 doc, MAINTAINERS: Update Andy Walls' email address
V4L/DVB: drivers/media: Eliminate a NULL pointer dereference
V4L/DVB: dvb-core: Fix ULE decapsulation bug
V4L/DVB: Bug fix: make IR work again for dm1105
V4L/DVB: media/IR: nec-decoder needs to select BITREV
V4L/DVB: video/saa7134: change dprintk() to i2cdprintk()
V4L/DVB: video/saa7134: remove duplicate break
V4L/DVB: IR/imon: add auto-config for 0xffdc rf device
V4L/DVB: IR/imon: clean up usage of bools
V4L/DVB: em28xx: remove unneeded null checks
V4L/DVB: ngene: remove unused #include <linux/version.h>
V4L/DVB: ak881x needs slab.h
V4L/DVB: FusionHDTV: Use quick reads for I2C IR device probing
V4L/DVB: Technotrend S2-3200 ships with a TT 1500 remote
V4L/DVB: drivers/media: Use kzalloc
V4L/DVB: m920x: Select simple tuner
...
Diffstat (limited to 'drivers/media/video/pvrusb2/pvrusb2-v4l2.c')
-rw-r--r-- | drivers/media/video/pvrusb2/pvrusb2-v4l2.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c index 5ffa0d2b0b0..aaafa0398fd 100644 --- a/drivers/media/video/pvrusb2/pvrusb2-v4l2.c +++ b/drivers/media/video/pvrusb2/pvrusb2-v4l2.c @@ -883,6 +883,17 @@ static void pvr2_v4l2_dev_destroy(struct pvr2_v4l2_dev *dip) { struct pvr2_hdw *hdw = dip->v4lp->channel.mc_head->hdw; enum pvr2_config cfg = dip->config; + char msg[80]; + unsigned int mcnt; + + /* Construct the unregistration message *before* we actually + perform the unregistration step. By doing it this way we don't + have to worry about potentially touching deleted resources. */ + mcnt = scnprintf(msg, sizeof(msg) - 1, + "pvrusb2: unregistered device %s [%s]", + video_device_node_name(&dip->devbase), + pvr2_config_get_name(cfg)); + msg[mcnt] = 0; pvr2_hdw_v4l_store_minor_number(hdw,dip->minor_type,-1); @@ -894,9 +905,7 @@ static void pvr2_v4l2_dev_destroy(struct pvr2_v4l2_dev *dip) are gone. */ video_unregister_device(&dip->devbase); - printk(KERN_INFO "pvrusb2: unregistered device %s [%s]\n", - video_device_node_name(&dip->devbase), - pvr2_config_get_name(cfg)); + printk(KERN_INFO "%s\n", msg); } |