DVB flexcop-pci sanitize driver name to avoid warning on load

From: Jindřich Makovička
Date: Sun Feb 20 2011 - 07:10:35 EST


Hi,

I posted this patch once, but this issue has been sort of mitigated by
a fix in the procfs layer. However, it's back in 2.6.38-rc5. Because
the b2c2 driver name contains slashes, procfs issues a warning, being
unable to create a directory with such name.

This patch changes the driver name to b2c2_flexcop_pci and leaves the
verbose text in MODULE_DESCRIPTION.

Signed-off-by: Jindrich Makovicka <makovick@xxxxxxxxx>

Regards,
--
Jindrich Makovicka
Feb 19 12:48:44 holly kernel: Bluetooth: HCI socket layer initialized
Feb 19 12:48:44 holly kernel: b2c2-flexcop: B2C2 FlexcopII/II(b)/III digital TV receiver chip loaded successfully
Feb 19 12:48:44 holly kernel: flexcop-pci: will use the HW PID filter.
Feb 19 12:48:44 holly kernel: flexcop-pci: card revision 2
Feb 19 12:48:44 holly kernel: b2c2_flexcop_pci 0000:05:01.0: PCI INT A -> GSI 19 (level, low) -> IRQ 19
Feb 19 12:48:44 holly kernel: ------------[ cut here ]------------
Feb 19 12:48:44 holly kernel: WARNING: at fs/proc/generic.c:323 __xlate_proc_name+0xb6/0xbd()
Feb 19 12:48:44 holly kernel: Hardware name: P55M-UD4
Feb 19 12:48:44 holly kernel: name 'Technisat/B2C2 FlexCop II/IIb/III Digital TV PCI Driver'
Feb 19 12:48:44 holly kernel: Modules linked in: b2c2_flexcop_pci(+) b2c2_flexcop dvb_core bluetooth snd_hda_codec_realtek usb_storage snd_hda_intel(+) snd_usb_audio snd_hda_codec snd_hwdep snd_usbmidi_lib snd_pcm_oss snd_mixer_oss snd_pcm snd_seq_dummy snd_seq_oss snd_seq_midi snd_seq_midi_event snd_seq snd_rawmidi usbhid snd_timer snd_seq_device snd i2c_i801 i2c_core snd_page_alloc uhci_hcd firewire_ohci firewire_core r8169 ehci_hcd mii usbcore [last unloaded: scsi_wait_scan]
Feb 19 12:48:44 holly kernel: Pid: 1318, comm: modprobe Not tainted 2.6.38-rc5 #2
Feb 19 12:48:44 holly kernel: Call Trace:
Feb 19 12:48:44 holly kernel: [<ffffffff81036a99>] ? warn_slowpath_common+0x78/0x8c
Feb 19 12:48:44 holly kernel: [<ffffffff81036b4c>] ? warn_slowpath_fmt+0x45/0x4a
Feb 19 12:48:44 holly kernel: [<ffffffff810f344c>] ? __xlate_proc_name+0xb6/0xbd
Feb 19 12:48:44 holly kernel: [<ffffffff810f38ce>] ? __proc_create+0x4a/0x128
Feb 19 12:48:44 holly kernel: [<ffffffff810f4082>] ? proc_mkdir_mode+0x27/0x51
Feb 19 12:48:44 holly kernel: [<ffffffff8106c79b>] ? register_handler_proc+0xca/0xdb
Feb 19 12:48:44 holly kernel: [<ffffffff8106a6b5>] ? __setup_irq+0x23c/0x2ab
Feb 19 12:48:44 holly kernel: [<ffffffffa004c118>] ? flexcop_pci_isr+0x0/0x131 [b2c2_flexcop_pci]
Feb 19 12:48:44 holly kernel: [<ffffffff8106a7fe>] ? request_threaded_irq+0xda/0x121
Feb 19 12:48:44 holly kernel: [<ffffffffa004c3e0>] ? flexcop_pci_probe+0x197/0x2e9 [b2c2_flexcop_pci]
Feb 19 12:48:44 holly kernel: [<ffffffff811eeff9>] ? local_pci_probe+0x12/0x16
Feb 19 12:48:44 holly kernel: [<ffffffff811ef785>] ? pci_device_probe+0x5b/0x87
Feb 19 12:48:44 holly kernel: [<ffffffff81262f21>] ? driver_sysfs_add+0x66/0x8d
Feb 19 12:48:44 holly kernel: [<ffffffff81263054>] ? driver_probe_device+0x9a/0x123
Feb 19 12:48:44 holly kernel: [<ffffffff8126312c>] ? __driver_attach+0x4f/0x6f
Feb 19 12:48:44 holly kernel: [<ffffffff812630dd>] ? __driver_attach+0x0/0x6f
Feb 19 12:48:44 holly kernel: [<ffffffff812628e8>] ? bus_for_each_dev+0x44/0x78
Feb 19 12:48:44 holly kernel: [<ffffffff81262296>] ? bus_add_driver+0xb9/0x201
Feb 19 12:48:44 holly kernel: [<ffffffff812633c5>] ? driver_register+0x90/0xf8
Feb 19 12:48:44 holly kernel: [<ffffffff811ef9d6>] ? __pci_register_driver+0x4e/0xbe
Feb 19 12:48:44 holly kernel: [<ffffffffa006b000>] ? flexcop_pci_module_init+0x0/0x20 [b2c2_flexcop_pci]
Feb 19 12:48:44 holly kernel: [<ffffffff81000209>] ? do_one_initcall+0x78/0x126
Feb 19 12:48:44 holly kernel: [<ffffffff8106011c>] ? sys_init_module+0x97/0x1d3
Feb 19 12:48:44 holly kernel: [<ffffffff81001f3b>] ? system_call_fastpath+0x16/0x1b
Feb 19 12:48:44 holly kernel: ---[ end trace 7432fbff05dd7c70 ]---
--- flexcop-pci.c~ 2010-05-16 23:17:36.000000000 +0200
+++ flexcop-pci.c 2010-06-01 12:10:05.982776836 +0200
@@ -38,7 +38,7 @@
DEBSTATUS);

#define DRIVER_VERSION "0.1"
-#define DRIVER_NAME "Technisat/B2C2 FlexCop II/IIb/III Digital TV PCI Driver"
+#define DRIVER_NAME "b2c2_flexcop_pci"
#define DRIVER_AUTHOR "Patrick Boettcher <patrick.boettcher@xxxxxxx>"

struct flexcop_pci {
@@ -448,5 +448,5 @@
module_exit(flexcop_pci_module_exit);

MODULE_AUTHOR(DRIVER_AUTHOR);
-MODULE_DESCRIPTION(DRIVER_NAME);
+MODULE_DESCRIPTION("Technisat/B2C2 FlexCop II/IIb/III Digital TV PCI Driver");
MODULE_LICENSE("GPL");