Re: rt2x00: allow AP and mesh mode to operate simultaneously
On 21/02/13 03:33, Linux Kernel Mailing List wrote: > Gitweb: > http://git.kernel.org/linus/;a=commit;h=4a5fc6d7074de72dd836fbb9c5cd79f9a491871c > Commit: 4a5fc6d7074de72dd836fbb9c5cd79f9a491871c > Parent: 92941382e8b80c55a4ad06b88a3bf95110969693 > Author: Chun-Yeow Yeoh > AuthorDate: Fri Jan 25 12:47:50 2013 +0800 > Committer: John W. Linville > CommitDate: Wed Jan 30 15:06:44 2013 -0500 > > rt2x00: allow AP and mesh mode to operate simultaneously > > Allow AP and Mesh mode to operate concurrently using > single radio. Verify this using fonera 2.0n featuring > RT3052 chipset and also TP-LINK TL-WN727N featuring > RT5370 chipset. This breaks the probe of my RT3071 device (Tenda W322UA): [ 4376.598444] phy0 -> rt2x00_set_chip: Info - Chipset detected - rt: 3071, rf: 0008, rev: 021c. [ 4376.598700] [ cut here ] [ 4376.598717] WARNING: at net/wireless/core.c:443 wiphy_register+0x549/0x6c0 [cfg80211]() [ 4376.598719] Hardware name: empty [ 4376.598721] Modules linked in: rt2800usb(+) rt2800lib rt2x00usb rt2x00lib mac80211 cfg80211 8021q garp bnep rfcomm bridge stp ext4 jbd2 nf_conntrack_ipv6 ipt_REJECT nf_defrag_ipv6 iptable_filter xt_state iptable_mangle ip6t_REJECT iptable_nat xt_tcpudp nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat ip6table_filter xt_dscp xt_string xt_owner xt_NFQUEUE xt_multiport xt_mark xt_iprange xt_hashlimit xt_conntrack ip_tables xt_connmark nf_conntrack ip6_tables x_tables fuse btusb crc_ccitt kvm_amd bluetooth kvm zaurus cdc_ether usbnet crc16 [last unloaded: cfg80211] [ 4376.598758] Pid: 15052, comm: modprobe Tainted: GW3.8.0+ #09507-g19cd6a2 [ 4376.598760] Call Trace: [ 4376.598770] [] warn_slowpath_common+0x7a/0xc0 [ 4376.598773] [] warn_slowpath_null+0x15/0x20 [ 4376.598779] [] wiphy_register+0x549/0x6c0 [cfg80211] [ 4376.598786] [] ? rt2x00lib_probe_dev+0x34f/0x770 [rt2x00lib] [ 4376.598801] [] ieee80211_register_hw+0x3a7/0x830 [mac80211] [ 4376.598805] [] rt2x00lib_probe_dev+0x592/0x770 [rt2x00lib] [ 4376.598809] [] rt2x00usb_probe+0x160/0x220 [rt2x00usb] [ 4376.598818] [] rt2800usb_probe+0x10/0x20 [rt2800usb] [ 4376.598830] [] usb_probe_interface+0x1d8/0x2b0 [ 4376.598835] [] driver_probe_device+0x76/0x230 [ 4376.598838] [] __driver_attach+0x9b/0xa0 [ 4376.598842] [] ? driver_probe_device+0x230/0x230 [ 4376.598845] [] bus_for_each_dev+0x56/0x90 [ 4376.598849] [] driver_attach+0x19/0x20 [ 4376.598851] [] bus_add_driver+0xf6/0x260 [ 4376.598854] [] driver_register+0x73/0x160 [ 4376.598858] [] ? 0xa0109fff [ 4376.598861] [] usb_register_driver+0x9a/0x150 [ 4376.598879] [] ? 0xa0109fff [ 4376.598892] [] rt2800usb_driver_init+0x1e/0x1000 [rt2800usb] [ 4376.598906] [] do_one_initcall+0x116/0x160 [ 4376.598915] [] load_module+0x1b52/0x22a0 [ 4376.598918] [] ? sys_getegid16+0x50/0x50 [ 4376.598922] [] sys_init_module+0xa4/0xd0 [ 4376.598927] [] system_call_fastpath+0x1a/0x1f [ 4376.598929] ---[ end trace 52dc8aa1355df590 ]--- [ 4376.598932] interface_modes=007e types=0088 <-- interface_modes does not contain NL80211_IFTYPE_MESH_POINT [ 4376.598934] phy0 -> rt2x00lib_probe_dev: Error - Failed to initialize hw. [ 4376.598958] rt2800usb: probe of 1-4.6:1.0 failed with error -22 > Signed-off-by: Chun-Yeow Yeoh > Acked-by: Helmut Schaa > Acked-by: Gertjan van Wingerde > Signed-off-by: John W. Linville > --- > drivers/net/wireless/rt2x00/rt2x00dev.c |3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c > b/drivers/net/wireless/rt2x00/rt2x00dev.c > index 92a0aa5..1031db6 100644 > --- a/drivers/net/wireless/rt2x00/rt2x00dev.c > +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c > @@ -1236,7 +1236,8 @@ static inline void rt2x00lib_set_if_combinations(struct > rt2x00_dev *rt2x00dev) >*/ > if_limit = &rt2x00dev->if_limits_ap; > if_limit->max = rt2x00dev->ops->max_ap_intf; > - if_limit->types = BIT(NL80211_IFTYPE_AP); > + if_limit->types = BIT(NL80211_IFTYPE_AP) | > + BIT(NL80211_IFTYPE_MESH_POINT); > > /* >* Build up AP interface combinations structure. -- Simon Arlott -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: mac80211: use spin_lock_bh() for tim_lock
unsigned long flags; > - > - spin_lock_irqsave(&local->tim_lock, flags); > + spin_lock(&local->tim_lock); > __ieee80211_beacon_add_tim(sdata, ps, skb); > - spin_unlock_irqrestore(&local->tim_lock, flags); > + spin_unlock(&local->tim_lock); > } > > return 0; > -- > To unsubscribe from this list: send the line "unsubscribe git-commits-head" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Simon Arlott -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] ipv6: Fix Makefile offload objects
The following commit breaks IPv6 TCP transmission for me: Commit 75fe83c32248d99e6d5fe64155e519b78bb90481 Author: Vlad Yasevich Date: Fri Nov 16 09:41:21 2012 + ipv6: Preserve ipv6 functionality needed by NET This patch fixes the typo "ipv6_offload" which should be "ipv6-offload". I don't know why not including the offload modules should break TCP. Disabling all offload options on the NIC didn't help. Outgoing pulseaudio traffic kept stalling. Signed-off-by: Simon Arlott --- net/ipv6/Makefile |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/ipv6/Makefile b/net/ipv6/Makefile index 2068ac4..4ea2448 100644 --- a/net/ipv6/Makefile +++ b/net/ipv6/Makefile @@ -41,6 +41,6 @@ obj-$(CONFIG_IPV6_TUNNEL) += ip6_tunnel.o obj-$(CONFIG_IPV6_GRE) += ip6_gre.o obj-y += addrconf_core.o exthdrs_core.o -obj-$(CONFIG_INET) += output_core.o protocol.o $(ipv6_offload) +obj-$(CONFIG_INET) += output_core.o protocol.o $(ipv6-offload) obj-$(subst m,y,$(CONFIG_IPV6)) += inet6_hashtables.o -- 1.7.8.rc3 -- Simon Arlott -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [2.6.22] circular lock detected
0:31:34 [1905220.401429][<80195889>] ext3_get_block+0xac/0xc5 03 00:31:34 [1905220.407047][<80174e54>] __block_prepare_write+0x151/0x3c6 03 00:31:34 [1905220.413455][<801750ed>] block_prepare_write+0x24/0x32 03 00:31:34 [1905220.419506][<80196a43>] ext3_prepare_write+0x98/0x153 03 00:31:34 [1905220.425553][<8013cbbe>] generic_file_buffered_write+0x219/0x57c 03 00:31:34 [1905220.432465][<8013d384>] __generic_file_aio_write_nolock+0x463/0x4b3 03 00:31:34 [1905220.439724][<8013d42a>] generic_file_aio_write+0x56/0xb4 03 00:31:34 [1905220.446027][<8019311b>] ext3_file_write+0x27/0x99 03 00:31:34 [1905220.451728][<80157742>] do_sync_write+0xc4/0x101 03 00:31:34 [1905220.457338][<80157f03>] vfs_write+0xaf/0x138 03 00:31:34 [1905220.462600][<8015840f>] sys_write+0x3d/0x61 03 00:31:34 [1905220.467771][<80102702>] sysenter_past_esp+0x5f/0x99 03 00:31:34 [1905220.473639][] 0x 03 00:31:34 [1905220.478040] 03 00:31:34 [1905220.478043] other info that might help us debug this: 03 00:31:34 [1905220.478046] 03 00:31:34 [1905220.486588] 3 locks held by bacula-sd/32639: 03 00:31:34 [1905220.491025] #0: (&inode->i_mutex){--..}, at: [<80389fd7>] mutex_lock+0x1c/0x1f 03 00:31:34 [1905220.498668] #1: (&ei->truncate_mutex){--..}, at: [<80389fd7>] mutex_lock+0x1c/0x1f 03 00:31:34 [1905220.506659] #2: (&s->s_dquot.dqptr_sem){}, at: [<801839bf>] dquot_alloc_space+0x42/0x15b 03 00:31:34 [1905220.515511] 03 00:31:34 [1905220.515513] stack backtrace: 03 00:31:34 [1905220.520230] [<80103694>] show_trace_log_lvl+0x1a/0x2f 03 00:31:34 [1905220.52] [<8010421b>] show_trace+0x12/0x14 03 00:31:34 [1905220.530185] [<80104232>] dump_stack+0x15/0x17 03 00:31:34 [1905220.534817] [<801303c4>] print_circular_bug_tail+0x5e/0x67 03 00:31:34 [1905220.540580] [<80131b4b>] __lock_acquire+0x8aa/0xb96 03 00:31:34 [1905220.545731] [<80132200>] lock_acquire+0x5d/0x75 03 00:31:34 [1905220.550536] [<80389e25>] __mutex_lock_slowpath+0xdb/0x271 03 00:31:34 [1905220.556203] [<80389fd7>] mutex_lock+0x1c/0x1f 03 00:31:34 [1905220.560838] [<80182ea9>] print_warning+0x92/0x137 03 00:31:34 [1905220.565819] [<80183ab8>] dquot_alloc_space+0x13b/0x15b 03 00:31:34 [1905220.571230] [<801920e1>] ext3_new_blocks+0x83/0x5ba 03 00:31:34 [1905220.576381] [<80195111>] ext3_get_blocks_handle+0x386/0x822 03 00:31:34 [1905220.582226] [<80195889>] ext3_get_block+0xac/0xc5 03 00:31:34 [1905220.587205] [<80174e54>] __block_prepare_write+0x151/0x3c6 03 00:31:34 [1905220.592963] [<801750ed>] block_prepare_write+0x24/0x32 03 00:31:34 [1905220.598372] [<80196a43>] ext3_prepare_write+0x98/0x153 03 00:31:34 [1905220.603785] [<8013cbbe>] generic_file_buffered_write+0x219/0x57c 03 00:31:34 [1905220.610063] [<8013d384>] __generic_file_aio_write_nolock+0x463/0x4b3 03 00:31:34 [1905220.616687] [<8013d42a>] generic_file_aio_write+0x56/0xb4 03 00:31:34 [1905220.622362] [<8019311b>] ext3_file_write+0x27/0x99 03 00:31:34 [1905220.627426] [<80157742>] do_sync_write+0xc4/0x101 03 00:31:34 [1905220.632401] [<80157f03>] vfs_write+0xaf/0x138 03 00:31:34 [1905220.637033] [<8015840f>] sys_write+0x3d/0x61 03 00:31:34 [1905220.641574] [<80102702>] sysenter_past_esp+0x5f/0x99 03 00:31:34 [1905220.646811] === >> --- >> fs/inode.c | 12 +--- >> include/linux/fs.h |5 + >> 2 files changed, 14 insertions(+), 3 deletions(-) >> >> Index: linux-2.6/fs/inode.c >> === >> --- linux-2.6.orig/fs/inode.c >> +++ linux-2.6/fs/inode.c >> @@ -142,6 +142,15 @@ static struct inode *alloc_inode(struct >> return NULL; >> } >> >> +spin_lock_init(&inode->i_lock); >> +lockdep_set_class(&inode->i_lock, &sb->s_type->i_lock_key); >> + >> +mutex_init(&inode->i_mutex); >> +lockdep_set_class(&inode->i_mutex, &sb->s_type->i_mutex_key); >> + >> +init_rwsem(&inode->i_alloc_sem); >> +lockdep_set_class(&inode->i_alloc_sem, >> &sb->s_type->i_alloc_sem_key); >> + >> mapping->a_ops = &empty_aops; >> mapping->host = inode; >> mapping->flags = 0; >> @@ -190,8 +199,6 @@ void inode_init_once(struct inode *inode >> INIT_HLIST_NODE(&inode->i_hash); >> INIT_LIST_HEAD(&inode->i_dentry); >> INIT_LIS
sockets affected by IPsec always block (2.6.23)
If I have a IPsec rule like: spdadd 192.168.7.8 1.2.3.4 any -P out ipsec esp/transport//require; (i.e. a remote host 1.2.3.4 which will not respond) Then any attempt to communicate with 1.2.3.4 will block, even when using non-blocking sockets: socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3 setsockopt(3, SOL_SOCKET, SO_LINGER, {onoff=1, linger=0}, 8) = 0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 fcntl64(3, F_GETFL) = 0x2 (flags O_RDWR) fcntl64(3, F_SETFL, O_RDWR|O_NONBLOCK) = 0 <-- non-blocking socket connect(3, {sa_family=AF_INET, sin_port=htons(22), sin_addr=inet_addr("1.2.3.4")}, 16 <-- blocked connect() [277657.564773] netcatS b06bcf20 0 9450 9449 [277657.564785]c8d51d28 00200046 00200046 b06bcf20 00200286 c8d51d14 00200286 c8d51d84 [277657.564814]b06bcf20 c8d51d28 b013680b c8d51d84 eeae8800 c8d51d78 c8d51dd0 b04d3fc5 [277657.564843]c8d51da4 0002 0001 ede87284 0002 0040 e9318ac0 db3f20a0 [277657.564874] Call Trace: [277657.564881] [] __xfrm_lookup+0x2f5/0x510 [277657.564905] [] ip_route_output_flow+0x4e/0x80 [277657.564919] [] tcp_v4_connect+0x183/0x6d0 [277657.564934] [] inet_stream_connect+0x122/0x1c0 [277657.564949] [] sys_connect+0x9e/0xd0 [277657.564963] [] sys_socketcall+0xa5/0x230 [277657.564973] [] syscall_call+0x7/0xb [277657.564984] === I had a process using non-blocking sockets stuck in connect() for over 8 hours because of this... 2630 <__xfrm_lookup>: ... 290b: b8 00 00 00 00 mov$0x0,%eax 290c: R_386_32 km_waitq 2910: e8 fc ff ff ff call 2911 <__xfrm_lookup+0x2e1> 2911: R_386_PC32add_wait_queue 2915: a1 00 00 00 00 mov0x0,%eax 2916: R_386_32 per_cpu__current_task 291a: c7 00 01 00 00 00 movl $0x1,(%eax) 2920: e8 fc ff ff ff call 2921 <__xfrm_lookup+0x2f1> 2921: R_386_PC32schedule 2925: a1 00 00 00 00 mov0x0,%eax 2926: R_386_32 per_cpu__current_task 292a: c7 00 00 00 00 00 movl $0x0,(%eax) 2930: b8 00 00 00 00 mov$0x0,%eax 2931: R_386_32 km_waitq 2935: 89 da mov%ebx,%edx 2937: e8 fc ff ff ff call 2938 <__xfrm_lookup+0x308> 2938: R_386_PC32remove_wait_queue -- Simon Arlott -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: System reboot triggered by just reading a device file....!?
On Wed, November 21, 2007 00:01, [EMAIL PROTECTED] wrote: >>There is.. it's called "root privileges". > yes, true. > > but - regardless of being a windows app or not - what if you want to take a > look on your system as a whole, > especially when using some tool which graphically shows how and where your > diskspace is being used? if i > let this run from ordinary useraccount it would get lot`s of "permission > denied" and then it`s only telling > half of the truth. Such a tool shouldn't need to open any files, whether they're device files or not. Do you expect it to open /dev/zero etc. too and read from an infinitely sized "file"? >> > i`d wish there would be some fence around this or iTCO_wdt /dev/watchdog >> > not being active after a >> default desktop installation. Delete it? -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
2.6.23 WARNING: at kernel/softirq.c:139 local_bh_enable()
usb usb5: configuration #1 chosen from 1 choice [ 22.115071] hub 5-0:1.0: USB hub found [ 22.118846] hub 5-0:1.0: 2 ports detected [ 22.139375] usb 2-1: new full speed USB device using uhci_hcd and address 2 [ 22.329683] usb 2-1: configuration #1 chosen from 1 choice [ 23.230391] usbcore: registered new interface driver usblp [ 23.235903] Initializing USB Mass Storage driver... [ 23.240875] usbcore: registered new interface driver usb-storage [ 23.246892] USB Mass Storage support registered. [ 23.251680] PNP: No PS/2 controller found. Probing ports directly. [ 23.506189] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 23.511290] mice: PS/2 mouse device common for all mice [ 23.516687] i2c /dev entries driver [ 23.520501] f71805f: Found F71805F/FG chip at 0x290, revision 19 [ 23.918166] device-mapper: ioctl: 4.11.0-ioctl (2006-10-12) initialised: [EMAIL PROTECTED] [ 23.926741] padlock: Using VIA PadLock ACE for AES algorithm. [ 23.932501] padlock: Using VIA PadLock ACE for SHA1/SHA256 algorithms. [ 23.939102] Advanced Linux Sound Architecture Driver Version 1.0.14 (Fri Jul 20 09:12:58 2007 UTC). [ 23.948323] ACPI: PCI Interrupt :00:11.5[C] -> Link [LNKC] -> GSI 10 (level, low) -> IRQ 10 [ 23.957225] PCI: Setting latency timer of device :00:11.5 to 64 [ 24.471419] ALSA device list: [ 24.474442] #0: VIA 8237 with ALC655 at 0xf400, irq 10 [ 24.479813] Netfilter messages via NETLINK v0.30. [ 24.484642] nf_conntrack version 0.5.0 (16384 buckets, 65536 max) [ 24.490812] ctnetlink v0.93: registering with nfnetlink. [ 24.496178] IPv4 over IPv4 tunneling driver [ 24.500581] GRE over IPv4 tunneling driver [ 24.505138] ip_tables: (C) 2000-2006 Netfilter Core Team [ 24.510561] ClusterIP Version 0.8 loaded successfully [ 24.515629] TCP bic registered [ 24.518695] TCP cubic registered [ 24.521934] TCP westwood registered [ 24.525431] TCP highspeed registered [ 24.529001] TCP hybla registered [ 24.532243] TCP htcp registered [ 24.535398] TCP vegas registered [ 24.538639] TCP veno registered [ 24.541790] TCP scalable registered [ 24.545287] TCP lp registered [ 24.548251] TCP yeah registered [ 24.551407] TCP illinois registered [ 24.554907] Initializing XFRM netlink socket [ 24.559235] NET: Registered protocol family 1 [ 24.563686] NET: Registered protocol family 10 [ 24.568252] lo: Disabled Privacy Extensions [ 24.572570] tunl0: Disabled Privacy Extensions [ 24.577102] Mobile IPv6 [ 24.579595] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 24.585041] IPv6 over IPv4 tunneling driver [ 24.589473] sit0: Disabled Privacy Extensions [ 24.593998] NET: Registered protocol family 17 [ 24.598469] NET: Registered protocol family 15 [ 24.602979] Bridge firewalling registered [ 24.607005] Ebtables v2.0 registered [ 24.610618] 802.1Q VLAN Support v1.8 Ben Greear <[EMAIL PROTECTED]> [ 24.617408] All bugs added by David S. Miller <[EMAIL PROTECTED]> [ 24.623704] CPU0 - ACPI performance management activated. [ 24.629116] *P0: 1500 MHz, 15000 mW, 10 µs [ 24.633742] P1: 800 MHz, 8000 mW, 10 µs [ 24.638582] Using IPI Shortcut mode [ 24.689701] kjournald starting. Commit interval 5 seconds [ 24.695233] EXT3-fs: mounted filesystem with ordered data mode. [ 24.701177] VFS: Mounted root (ext3 filesystem) readonly. [ 24.706864] Freeing unused kernel memory: 184k freed [ 24.712029] Write protecting the kernel text: 2596k [ 24.716975] Write protecting the kernel read-only data: 926k -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Bogus PCI vendor ID
On Sat, November 17, 2007 18:40, Francois Romieu wrote: > Kai Ruhnau <[EMAIL PROTECTED]> : > [...] >> I have a problem with two of my PCI devices showing the wrong PCI vendor >> ID (0001) in vanilla kernels. Have you tried doing a cold boot at every test? I've had bogus PCI IDs appear before where it was the device's fault, and the ID would change after the first boot. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Linux Security *Module* Framework (Was: LSM conversion to static interface)
On 26/10/07 16:58, Greg KH wrote: > On Fri, Oct 26, 2007 at 11:46:39AM +0200, Tilman Schmidt wrote: >> On Thu, 25 Oct 2007 19:56:47 -0700, Greg KH wrote: >> > I'm trying to compile a list of all known external modules and drivers >> > and work to get them included in the main kernel tree to help prevent >> > these kinds of things. If you know of any that are not on the list at: >> >http://linuxdriverproject.org/twiki/bin/view/Main/OutOfTreeDrivers >> > please feel free to add them, or email me with the needed information >> > and I will add them to the list. >> >> That's certainly helpful, but I still think there will always be >> a number of external modules that cannot be merged right now or at >> all, and deliberately making life difficult for out-of-tree code >> maintainers in order to coerce them into submitting their code for >> inclusion in the kernel will not work, it'll only create bad >> feelings. > > Do you have examples of proof of this? Read > Documentation/stable_api_nonsense.txt for how we already make > out-of-tree code developer's lives hell :) The change makes it much harder to develop in tree too. Also, this really needs to be reverted and put in the feature removal schedule... unless you intend to deliberately make all out of tree LSMs unusable with no warning and no time to have them added to the kernel? We're already at 2.6.24-rc1. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: eradicating out of tree modules
On 28/10/07 14:37, Stefan Richter wrote: > Tilman Schmidt wrote: >> Am 28.10.2007 10:25 schrieb Stefan Richter: >>> You two are hypothesizing. >> >> No, we're not. We're discussing the very real issue of whether >> LSM should be amputated in such a way as to make life difficult >> for out of tree security module developers. > > I still believe you are. From what I understood, the API change had > technical reasons. (What I have read is that using security modules in > the form of loadable and unloadable kernel modules didn't make sense.) Stacking modules makes a lot of sense, it may be tricky to order sensibly, now if you want the features of more than one LSM (including those being added to the kernel), you need to *copy* the parts you want. Since you can't use modules to load them, because that feature's been removed, you need to maintain your own kernel tree for it or submit your changes which will eventually end up with LSMs that all do the same thing... This static LSM doesn't even make sense to me - what happens if I select both SECURITY_CAPABILITIES and SECURITY_ROOTPLUG? I can't easily check because I'm using 2.6.23 - so I can still reload my module while changing it to have a better configuration interface. Kconfig doesn't look like it will prevent it. Surely the options should be a multiple choice menu? Adrian's mentioned people eager to write drivers - LSMs aren't drivers, there's really nothing to work from except "security module that does X" and for that people should develop what they want themselves. There's no reason for out of tree *GPL* drivers to not exist, is there? How much of the non-driver code that gets merged into the kernel exists first as out of tree modules, rather than direct patches to the tree itself? It was made much easier since 2.4 to compile a module out of tree using a simple Makefile. (Perhaps that should be removed too?) -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Defense in depth: LSM *modules*, not a static interface
On Tue, October 30, 2007 07:14, Cliffe wrote: > And while I acknowledge that many of these layers are currently buried > within the kernel (netfilter...) they are security layers which in many > cases would probably make sense as stackable security modules. > > Making the interface static forces mammoth solutions which then must > attempt to solve all of the above in one ls*m*. What happened to > dividing tasks into easy to manage chunks? Would it be possible to have Kconfig select which LSM should handle each area of security? Selecting LSM A would automatically disable LSM B and C since they both implement the same security functions, while LSM D would still be selectable since it implements something else. The default capabilities code would then turn off parts of itself that another LSM is handling. Alternatively the M in LSM can be restored and modules can be stacked. It should be possible for the primary LSM to check the security_ops of the secondary LSM(s) and complain if it considers there to be an incompatiblity. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] net/, drivers/net/ , missing EXPERIMENTAL in menus
on | choice_option_list depends + | choice_option_list maturity | choice_option_list help | choice_option_list T_EOL | choice_option_list option_error @@ -349,7 +352,7 @@ menu: T_MENU prompt T_EOL printd(DEBUG_PARSE, "%s:%d:menu\n", zconf_curname(), zconf_lineno()); }; -menu_entry: menu depends_list +menu_entry: menu maturity_set_opt depends_list { $$ = menu_add_menu(); }; @@ -430,6 +433,19 @@ depends: T_DEPENDS T_ON expr T_EOL printd(DEBUG_PARSE, "%s:%d:requires\n", zconf_curname(), zconf_lineno()); }; +/* maturity setting */ + +maturity_set_opt: + /* empty */ + | maturity +; + +maturity: T_MATURITY symbol T_EOL +{ + menu_set_maturity($2); + printd(DEBUG_PARSE, "%s:%d:maturity\n", zconf_curname(), zconf_lineno()); +}; + /* prompt statement */ prompt_stmt_opt: @@ -519,6 +535,7 @@ const char *zconf_tokenname(int token) case T_IF: return "if"; case T_ENDIF: return "endif"; case T_DEPENDS: return "depends"; + case T_MATURITY:return "maturity"; } return ""; } @@ -615,6 +632,9 @@ void print_symbol(FILE *out, struct menu *menu) case S_HEX: fputs(" hex\n", out); break; + case S_MATURITY: + fputs(" maturity\n", out); + break; default: fputs(" ???\n", out); break; -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] run scripts/Lindent on it to match Documentation/CodingStyle
On 20/07/07 18:07, Matthew Wilcox wrote: > Of course, we can't add this flag to Lindent until it's widely > circulating amongst the distributions. Perhaps we can add this to > Lindent in the meantime: > > sed -i -e 's/^\t* \(\w*:\)/ \1/' "$@" > > which will replace the leading tabs and spaces with one space. > It should leave case labels unmolested, as they should be indented with > tabs, not 6 spaces. ... isn't the space thing a workaround for a "diff -p" bug? Labels should either not have any indent or be indented by tabs (since some code could presumably benefit from indenting labels). Mass replacing any labels run through Lindent with space prefixes would seem like a bad idea :/ (From original reply) It has a habit of leaving/creating "^\t+ +" too, and that "\t\t/* comment */$" oddity, I couldn't see any options in the man page to fix those... -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] run scripts/Lindent on it to match Documentation/CodingStyle
On 20/07/07 19:00, Matthew Wilcox wrote: > On Fri, Jul 20, 2007 at 06:36:02PM +0100, Simon Arlott wrote: >> On 20/07/07 18:07, Matthew Wilcox wrote: >> > sed -i -e 's/^\t* \(\w*:\)/ \1/' "$@" >> > >> > which will replace the leading tabs and spaces with one space. >> >> ... isn't the space thing a workaround for a "diff -p" bug? > > Yes. I like not being affected by bugs. If you prefer to be affected > by bugs, that's up to you. Changing the code to fix a utility bug is madness. I think it's been fixed too... -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] run scripts/Lindent on it to match Documentation/CodingStyle
On 20/07/07 19:00, Matthew Wilcox wrote: > On Fri, Jul 20, 2007 at 06:36:02PM +0100, Simon Arlott wrote: >> Mass >> replacing any labels run through Lindent with space prefixes would seem >> like a bad idea :/ > > We don't tend to mass-run code through Lindent. This may or may not be > a bad thing, but the fact is that it just doesn't happen. I realise that, and it would be a big mess to do so - but when code is run through it, it shouldn't modify existing good code into slightly worse code. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
diffutils: C labels misdetected as functions (Was: [PATCH 1/2] run scripts/Lindent on it to match Documentation/CodingStyle)
(Bcc: [EMAIL PROTECTED]) The patch below stops diffutils treating C labels starting in column 1 as function names. On 21/07/07 14:52, Matthew Wilcox wrote: > On Sat, Jul 21, 2007 at 07:11:01AM +0100, Simon Arlott wrote: >> Changing the code to fix a utility bug is madness. I think it's been >> fixed too... > > I just downloaded the source from CVS and it hasn't: > > --- test1.c 2007-07-21 09:49:02.0 -0400 > +++ test2.c 2007-07-21 09:49:12.0 -0400 > @@ -8,5 +8,4 @@ flibble: > zero > one > - two > three > } > > Tell you what, why don't you fix it? Here's how to get the source: > cvs -d:pserver:[EMAIL PROTECTED]:/sources/diffutils co diffutils > > I'm sure you'll figure it out from there. > --- Index: diff.c === RCS file: /sources/diffutils/diffutils/src/diff.c,v retrieving revision 1.45 diff -U 4 -r1.45 diff.c --- diff.c 19 Jul 2007 17:45:29 - 1.45 +++ diff.c 21 Jul 2007 19:13:23 - @@ -430,9 +430,9 @@ break; case 'p': show_c_function = true; - add_regexp (&function_regexp_list, "^[[:alpha:]$_]"); + add_regexp (&function_regexp_list, "^[[:alpha:]$_](|.*[^:])$"); break; case 'P': unidirectional_new_file = true; -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: diffutils: C labels misdetected as functions
On 22/07/07 19:38, Paul Eggert wrote: > Simon Arlott <[EMAIL PROTECTED]> writes: > >> The patch below stops diffutils treating C labels starting in column 1 as >> function names. > > That patch alone wouldn't suffice, since -p is documented as implying > -F '^[[:alpha:]$_]'. If the behavior changes, we'd also have to > change the documentation to match. Ok. > I'm not sure the change is a good idea. It would complicate the > documentation and therefore the user interface, without that much Complicated documentation means a bug shouldn't be fixed? > benefit. And it wouldn't suffice in general, since it would still > mishandle labels followed by comments or by white space. Yes, the regexp needs changing further to ignore comments... "[[:alpha:]$_][^:]*$" perhaps? Although that ignores functions with comments on the same line containing a :. > Also, for long C functions some people might rather see a top-level > (unindented) label highlighted than the function name highlighted, so > they might prefer the current behavior. "-p --show-c-function Show which C function each change is in." It's not "--show-c-function-or-label". > Anyway, to work around your problem without changing "diff", you can > use "diff -u -F '^[[:alpha:]$_](|.*[^:])$'" instead of "diff -u -p". Perhaps git could do this (or similar) as a workaround? (Cc:ed) > Or you can put a single space before the labels in question: they'll > still stand out plenty. The code should definitely not need to be modified to work around a diff bug. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
sysfs/udev broken in latest git?
The following commit appears to break some of my udev rules (I don't have the time to finish the bisect right now, but there's only four changes showing in "git bisect visualize" - this one is tagged bisect/bad, and the other three are docs/docs/unrelated). Neither of these symlinks get created by udev on kernels marked bad (see bisect log below): ACTION=="add", \ KERNEL=="event*", \ SUBSYSTEM=="input", \ SYSFS{description}=="i8042 KBD port", \ NAME="input/%k", \ SYMLINK="input/i8042-kbd", \ MODE="0640", \ GROUP="event" ACTION=="add", \ KERNEL=="event*", \ SUBSYSTEM=="input", \ SYSFS{manufacturer}=="Logitech", \ SYSFS{product}=="USB-PS/2 Optical Mouse", \ NAME="input/%k", \ SYMLINK="input/logitech-mouse", \ MODE="0640", \ GROUP="event" Author: Cornelia Huck <[EMAIL PROTECTED]> 2007-07-18 09:43:47 Committer: Greg Kroah-Hartman <[EMAIL PROTECTED]> 2007-07-18 23:49:50 Parent: be3884943674f8ee7656b1d8b71c087ec900c836 (HOWTO: Add the knwon_regression URI to the documentation) Driver core: check return code of sysfs_create_link() Check for return value of sysfs_create_link() in device_add() and device_rename(). Add helper functions device_add_class_symlinks() and device_remove_class_symlinks() to make the code easier to read. [EMAIL PROTECTED]: fix unused var warnings] Signed-off-by: Cornelia Huck <[EMAIL PROTECTED]> Acked-by: Jeff Garzik <[EMAIL PROTECTED]> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]> Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]> git-bisect start # good: [2f493789ddc636ff19156b2752763d76ba563b39] Merge branch 'master' of git://git.kernel.org/pub/scm/linux$ git-bisect good 2f493789ddc636ff19156b2752763d76ba563b39 # bad: [a80ef3844fd9f87461578d98a992db6cc64369f8] IPv6: Don't update ADVMSS on routes where the MTU is not als$ git-bisect bad a80ef3844fd9f87461578d98a992db6cc64369f8 # bad: [febe3375ea690a6cf544c33fa0fea1a06ff451ee] [ALSA] hda-codec - Add HP Pavillion quirk to Realtek code git-bisect bad febe3375ea690a6cf544c33fa0fea1a06ff451ee # bad: [83c54070ee1a2d05c89793884bea1a03f2851ed4] mm: fault feedback #2 git-bisect bad 83c54070ee1a2d05c89793884bea1a03f2851ed4 # good: [a267c0a887064720dfab5775a4f09b20b4f8ec37] Merge branch 'master' of ssh://master.kernel.org/pub/scm/li$ git-bisect good a267c0a887064720dfab5775a4f09b20b4f8ec37 # good: [fc15bc817eecd5c13581adab2a182c07edededa0] Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/ui$ git-bisect good fc15bc817eecd5c13581adab2a182c07edededa0 # bad: [789c56b7f73218141b8004cb4f775eed8c514212] Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/$ git-bisect bad 789c56b7f73218141b8004cb4f775eed8c514212 # bad: [70b315b0dd3879cb3ab8aadffb14f10b2d19b9c3] [CIFS] merge conflict in fs/cifs/export.c git-bisect bad 70b315b0dd3879cb3ab8aadffb14f10b2d19b9c3 # good: [3870253efb65e1960421ca74f5d336218c28fc5b] [CIFS] more whitespace fixes git-bisect good 3870253efb65e1960421ca74f5d336218c28fc5b # good: [4a379e6657ae2dd910f9f06d46bd7c05fbe9ed5c] [CIFS] Fix build break - inet.h not included when experimen$ git-bisect good 4a379e6657ae2dd910f9f06d46bd7c05fbe9ed5c # good: [7e42ca886b0282679c2721dc4853163cc89b8a34] [CIFS] Typo in previous patch git-bisect good 7e42ca886b0282679c2721dc4853163cc89b8a34 # good: [c18c842b1fdf527717303a4e173cbece7ab2deb8] [CIFS] Allow disabling CIFS Unix Extensions as mount option git-bisect good c18c842b1fdf527717303a4e173cbece7ab2deb8 # good: [fc15bc817eecd5c13581adab2a182c07edededa0] Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/ui$ git-bisect good fc15bc817eecd5c13581adab2a182c07edededa0 Something went wrong here and hit a single CIFS patch, so I started from second-last bad and the good before it. # bad: [789c56b7f73218141b8004cb4f775eed8c514212] Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/$ git-bisect bad 789c56b7f73218141b8004cb4f775eed8c514212 # bad: [2ee97caf0a6602f749ddbfdb1449e383e1212707] Driver core: check return code of sysfs_create_link() git-bisect bad 2ee97caf0a6602f749ddbfdb1449e383e1212707 # good: [2c19c49a59ccf2162c0eb999de1ec60c0e07a533] Documentation fix devres.txt: lib/iomap.c -> lib/devres.c git-bisect good 2c19c49a59ccf2162c0eb999de1ec60c0e07a533 # good: [aebdc3b450a3febf7d7d00cd2235509055ec7082] dev_vdbg(), available with -DVERBOSE_DEBUG git-bisect good aebdc3b450a3febf7d7d00cd2235509055ec7082 -- Simon Arlott config.gz Description: GNU Zip compressed data
Re: sysfs/udev broken in latest git?
On Tue, July 24, 2007 10:20, Kay Sievers wrote: > On 7/24/07, Greg KH <[EMAIL PROTECTED]> wrote: >> On Tue, Jul 24, 2007 at 10:03:14AM +0200, Cornelia Huck wrote: >> > On Tue, 24 Jul 2007 00:25:40 -0700, >> > Greg KH <[EMAIL PROTECTED]> wrote: >> > >> > > On Tue, Jul 24, 2007 at 07:39:38AM +0100, Simon Arlott wrote: >> > > > The following commit appears to break some of my udev rules (I don't >> > > > have the time to finish the bisect right now, but there's only four >> > > > changes showing in "git bisect visualize" - this one is tagged >> > > > bisect/bad, and the other three are docs/docs/unrelated). >> > > > >> > > > Neither of these symlinks get created by udev on kernels marked bad >> > > > (see bisect log below): >> > > > >> > > > ACTION=="add", \ >> > > > KERNEL=="event*", \ >> > > > SUBSYSTEM=="input", \ >> > > > SYSFS{description}=="i8042 KBD port", \ >> > > > NAME="input/%k", \ >> > > > SYMLINK="input/i8042-kbd", \ >> > > > MODE="0640", \ >> > > > GROUP="event" >> > > > >> > > > ACTION=="add", \ >> > > > KERNEL=="event*", \ >> > > > SUBSYSTEM=="input", \ >> > > > SYSFS{manufacturer}=="Logitech", \ >> > > > SYSFS{product}=="USB-PS/2 Optical Mouse", \ >> > > > NAME="input/%k", \ >> > > > SYMLINK="input/logitech-mouse", \ >> > > > MODE="0640", \ >> > > > GROUP="event" > > Simon, please run: > udevinfo --attribute-walk --path= > for the mouse on the working and the non-working kernel. On the working kernel: looking at device '/devices/pci:00/:00:0c.0/usb2/2-2/2-2:1.0': KERNEL=="2-2:1.0" SUBSYSTEM=="usb" DRIVER=="usbhid" ATTR{modalias}=="usb:v046DpC044d2710dc00dsc00dp00ic03isc01ip02" ATTR{bInterfaceProtocol}=="02" ATTR{bInterfaceSubClass}=="01" ATTR{bInterfaceClass}=="03" ATTR{bNumEndpoints}=="01" ATTR{bAlternateSetting}==" 0" ATTR{bInterfaceNumber}=="00" looking at parent device '/devices/pci:00/:00:0c.0/usb2/2-2': KERNELS=="2-2" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{product}=="USB-PS/2 Optical Mouse" ATTRS{manufacturer}=="Logitech" ATTRS{quirks}=="0x0" ATTRS{maxchild}=="0" ATTRS{version}==" 2.00" ATTRS{devnum}=="3" ATTRS{busnum}=="2" ATTRS{speed}=="1.5" ATTRS{bMaxPacketSize0}=="8" ATTRS{bNumConfigurations}=="1" ATTRS{bDeviceProtocol}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceClass}=="00" ATTRS{bcdDevice}=="2710" ATTRS{idProduct}=="c044" ATTRS{idVendor}=="046d" ATTRS{bMaxPower}==" 98mA" ATTRS{bmAttributes}=="a0" ATTRS{bConfigurationValue}=="1" ATTRS{bNumInterfaces}==" 1" ATTRS{configuration}=="" ATTRS{dev}=="189:130" looking at parent device '/devices/pci:00/:00:0c.0/usb2': KERNELS=="usb2" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{serial}==":00:0c.0" ATTRS{product}=="UHCI Host Controller" ATTRS{manufacturer}=="Linux 2.6.22-git uhci_hcd" ATTRS{quirks}=="0x0" ATTRS{maxchild}=="2" ATTRS{version}==" 1.10" ATTRS{devnum}=="1" ATTRS{busnum}=="2" ATTRS{speed}=="12" ATTRS{bMaxPacketSize0}=="64" ATTRS{bNumConfigurations}=="1" ATTRS{bDeviceProtocol}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceClass}=="09" ATTRS{bcdDevice}=="0206" ATTRS{idProduct}=="" ATTRS{idVendor}=="" ATTRS{bMaxPower}==" 0mA" ATTRS{bmAttributes}=="e0" ATTRS{bConfigurationValue}=="1" ATTRS{bNumInterfaces}==" 1" ATTRS{configuration}=="" ATTRS{dev}=="189:128" looking at parent device '/devices/pci
Re: sysfs/udev broken in latest git?
On Tue, July 24, 2007 12:55, Kay Sievers wrote: > On 7/24/07, Simon Arlott <[EMAIL PROTECTED]> wrote: >> On Tue, July 24, 2007 10:20, Kay Sievers wrote: >> > On 7/24/07, Greg KH <[EMAIL PROTECTED]> wrote: >> >> On Tue, Jul 24, 2007 at 10:03:14AM +0200, Cornelia Huck wrote: >> >> > On Tue, 24 Jul 2007 00:25:40 -0700, >> >> > Greg KH <[EMAIL PROTECTED]> wrote: >> >> > >> >> > > On Tue, Jul 24, 2007 at 07:39:38AM +0100, Simon Arlott wrote: >> >> > > > The following commit appears to break some of my udev rules (I don't >> >> > > > have the time to finish the bisect right now, but there's only four >> >> > > > changes showing in "git bisect visualize" - this one is tagged >> >> > > > bisect/bad, and the other three are docs/docs/unrelated). >> >> > > > >> >> > > > Neither of these symlinks get created by udev on kernels marked bad >> >> > > > (see bisect log below): >> >> > > > >> >> > > > ACTION=="add", \ >> >> > > > KERNEL=="event*", \ >> >> > > > SUBSYSTEM=="input", \ >> >> > > > SYSFS{description}=="i8042 KBD port", \ >> >> > > > NAME="input/%k", \ >> >> > > > SYMLINK="input/i8042-kbd", \ >> >> > > > MODE="0640", \ >> >> > > > GROUP="event" >> >> > > > >> >> > > > ACTION=="add", \ >> >> > > > KERNEL=="event*", \ >> >> > > > SUBSYSTEM=="input", \ >> >> > > > SYSFS{manufacturer}=="Logitech", \ >> >> > > > SYSFS{product}=="USB-PS/2 Optical Mouse", \ >> >> > > > NAME="input/%k", \ >> >> > > > SYMLINK="input/logitech-mouse", \ >> >> > > > MODE="0640", \ >> >> > > > GROUP="event" >> > >> > Simon, please run: >> > udevinfo --attribute-walk --path= >> > for the mouse on the working and the non-working kernel. >> >> On the working kernel: >> >> looking at device '/devices/pci:00/:00:0c.0/usb2/2-2/2-2:1.0': > > Please start with the event* device your rule catches, not the usb one. > looking at device '/class/input/event4': KERNEL=="event4" SUBSYSTEM=="input" DRIVER=="" ATTR{dev}=="13:68" looking at device '/class/input/input4': KERNEL=="input4" SUBSYSTEM=="input" DRIVER=="" ATTR{modalias}=="input:b0003v046DpC044e0110-e0,1,2,k110,111,112,113,114,115,116,117,r0,1,6,8,amlsfw" ATTR{uniq}=="" ATTR{phys}=="usb-:00:0c.0-2/input0" ATTR{name}=="Logitech USB-PS/2 Optical Mouse" looking at parent device '/devices/pci:00/:00:0c.0/usb2/2-2/2-2:1.0': KERNELS=="2-2:1.0" SUBSYSTEMS=="usb" DRIVERS=="usbhid" ATTRS{modalias}=="usb:v046DpC044d2710dc00dsc00dp00ic03isc01ip02" ATTRS{bInterfaceProtocol}=="02" ATTRS{bInterfaceSubClass}=="01" ATTRS{bInterfaceClass}=="03" ATTRS{bNumEndpoints}=="01" ATTRS{bAlternateSetting}==" 0" ATTRS{bInterfaceNumber}=="00" looking at parent device '/devices/pci:00/:00:0c.0/usb2/2-2': KERNELS=="2-2" SUBSYSTEMS=="usb" DRIVERS=="usb" ATTRS{product}=="USB-PS/2 Optical Mouse" ATTRS{manufacturer}=="Logitech" ATTRS{quirks}=="0x0" ATTRS{maxchild}=="0" ATTRS{version}==" 2.00" ATTRS{devnum}=="3" ATTRS{busnum}=="2" ATTRS{speed}=="1.5" ATTRS{bMaxPacketSize0}=="8" ATTRS{bNumConfigurations}=="1" ATTRS{bDeviceProtocol}=="00" ATTRS{bDeviceSubClass}=="00" ATTRS{bDeviceClass}=="00" ATTRS{bcdDevice}=="2710" ATTRS{idProduct}=="c044" ATTRS{idVendor}=="046d" ATTRS{bMaxPower}==" 98mA" ATTRS{bmAttributes}=="a0" ATTRS{bConfigurationValue}=="1" ATTRS{bNumInterfaces}==" 1" ATTRS{configuration}=="" A
sysfs/udev broken in 2.6.23-rc1 [input, i2c, ...] (Was: sysfs/udev broken in latest git?)
On 24/07/07 13:54, Cornelia Huck wrote: > On Tue, 24 Jul 2007 11:20:02 +0200, > "Kay Sievers" <[EMAIL PROTECTED]> wrote: > >> It looks fine to me. "device" links must never point to anything else >> than a bus device. > > Hm, but then > 1. The patch sneaks this check in (the old code only checked for >dev->parent) > 2. The code is rather inconsistent now, since none of the other code >paths check for dev->parent->bus... Removing the dev->parent->bus check fixes it: [ 40.043981] serio: i8042 KBD port at 0x60,0x64 irq 1 [ 40.044653] mice: PS/2 mouse device common for all mice [ 40.044792] dev->parent && !dev->parent->bus: [ 40.044794] dev->kobj->k_name=event0 [ 40.044796] dev->kobj->name=event0 [ 40.044798] dev->parent->kobj->k_name=input0 [ 40.044800] dev->parent->kobj->name=input0 [ 40.044948] dev->parent && !dev->parent->bus: [ 40.044951] dev->kobj->k_name=event1 [ 40.044952] dev->kobj->name=event1 [ 40.044954] dev->parent->kobj->k_name=input1 [ 40.044956] dev->parent->kobj->name=input1 [ 40.045075] dev->parent && !dev->parent->bus: [ 40.045077] dev->kobj->k_name=event2 [ 40.045079] dev->kobj->name=event2 [ 40.045080] dev->parent->kobj->k_name=input2 [ 40.045082] dev->parent->kobj->name=input2 [ 40.067204] input: AT Translated Set 2 keyboard as /class/input/input3 [ 40.067368] dev->parent && !dev->parent->bus: [ 40.067370] dev->kobj->k_name=event3 [ 40.067372] dev->kobj->name=event3 [ 40.067373] dev->parent->kobj->k_name=input3 [ 40.067375] dev->parent->kobj->name=input3 [ 40.067713] i2c /dev entries driver [ 40.068190] dev->parent && !dev->parent->bus: [ 40.068193] dev->kobj->k_name=i2c-0 [ 40.068195] dev->kobj->name=i2c-0 [ 40.068196] dev->parent->kobj->k_name=i2c-0 [ 40.068198] dev->parent->kobj->name=i2c-0 [ 40.068386] dev->parent && !dev->parent->bus: [ 40.068389] dev->kobj->k_name=i2c-9191 [ 40.068391] dev->kobj->name=i2c-9191 [ 40.068392] dev->parent->kobj->k_name=platform [ 40.068394] dev->parent->kobj->name=platform [ 40.068892] dev->parent && !dev->parent->bus: [ 40.068895] dev->kobj->k_name=i2c-1 [ 40.068896] dev->kobj->name=i2c-1 [ 40.068898] dev->parent->kobj->k_name=i2c-1 [ 40.068899] dev->parent->kobj->name=i2c-1 [ 40.085201] input: Logitech USB-PS/2 Optical Mouse as /class/input/input4 [ 40.085362] dev->parent && !dev->parent->bus: [ 40.085365] dev->kobj->k_name=mouse0 [ 40.085367] dev->kobj->name=mouse0 [ 40.085368] dev->parent->kobj->k_name=input4 [ 40.085370] dev->parent->kobj->name=input4 [ 40.085528] dev->parent && !dev->parent->bus: [ 40.085530] dev->kobj->k_name=event4 [ 40.085532] dev->kobj->name=event4 [ 40.085534] dev->parent->kobj->k_name=input4 [ 40.085535] dev->parent->kobj->name=input4 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: sysfs/udev broken in 2.6.23-rc1 [input, i2c, ...] (Was: sysfs/udev broken in latest git?)
On 24/07/07 17:34, Kay Sievers wrote: > On 7/24/07, Simon Arlott <[EMAIL PROTECTED]> wrote: >> On 24/07/07 13:54, Cornelia Huck wrote: >> > On Tue, 24 Jul 2007 11:20:02 +0200, >> > "Kay Sievers" <[EMAIL PROTECTED]> wrote: >> > >> >> It looks fine to me. "device" links must never point to anything else >> >> than a bus device. >> > >> > Hm, but then >> > 1. The patch sneaks this check in (the old code only checked for >> >dev->parent) >> > 2. The code is rather inconsistent now, since none of the other code >> >paths check for dev->parent->bus... >> >> Removing the dev->parent->bus check fixes it: >> >> [ 40.043981] serio: i8042 KBD port at 0x60,0x64 irq 1 >> [ 40.044653] mice: PS/2 mouse device common for all mice >> [ 40.044792] dev->parent && !dev->parent->bus: >> [ 40.044794] dev->kobj->k_name=event0 >> [ 40.044796] dev->kobj->name=event0 >> [ 40.044798] dev->parent->kobj->k_name=input0 >> [ 40.044800] dev->parent->kobj->name=input0 >> >> [ 40.044948] dev->parent && !dev->parent->bus: >> [ 40.044951] dev->kobj->k_name=event1 >> [ 40.044952] dev->kobj->name=event1 >> [ 40.044954] dev->parent->kobj->k_name=input1 >> [ 40.044956] dev->parent->kobj->name=input1 >> >> [ 40.045075] dev->parent && !dev->parent->bus: >> [ 40.045077] dev->kobj->k_name=event2 >> [ 40.045079] dev->kobj->name=event2 >> [ 40.045080] dev->parent->kobj->k_name=input2 >> [ 40.045082] dev->parent->kobj->name=input2 >> >> [ 40.067204] input: AT Translated Set 2 keyboard as /class/input/input3 >> [ 40.067368] dev->parent && !dev->parent->bus: >> [ 40.067370] dev->kobj->k_name=event3 >> [ 40.067372] dev->kobj->name=event3 >> [ 40.067373] dev->parent->kobj->k_name=input3 >> [ 40.067375] dev->parent->kobj->name=input3 >> >> [ 40.067713] i2c /dev entries driver >> [ 40.068190] dev->parent && !dev->parent->bus: >> [ 40.068193] dev->kobj->k_name=i2c-0 >> [ 40.068195] dev->kobj->name=i2c-0 >> [ 40.068196] dev->parent->kobj->k_name=i2c-0 >> [ 40.068198] dev->parent->kobj->name=i2c-0 >> >> [ 40.068386] dev->parent && !dev->parent->bus: >> [ 40.068389] dev->kobj->k_name=i2c-9191 >> [ 40.068391] dev->kobj->name=i2c-9191 >> [ 40.068392] dev->parent->kobj->k_name=platform >> [ 40.068394] dev->parent->kobj->name=platform >> >> [ 40.068892] dev->parent && !dev->parent->bus: >> [ 40.068895] dev->kobj->k_name=i2c-1 >> [ 40.068896] dev->kobj->name=i2c-1 >> [ 40.068898] dev->parent->kobj->k_name=i2c-1 >> [ 40.068899] dev->parent->kobj->name=i2c-1 >> >> [ 40.085201] input: Logitech USB-PS/2 Optical Mouse as >> /class/input/input4 >> [ 40.085362] dev->parent && !dev->parent->bus: >> [ 40.085365] dev->kobj->k_name=mouse0 >> [ 40.085367] dev->kobj->name=mouse0 >> [ 40.085368] dev->parent->kobj->k_name=input4 >> [ 40.085370] dev->parent->kobj->name=input4 >> >> [ 40.085528] dev->parent && !dev->parent->bus: >> [ 40.085530] dev->kobj->k_name=event4 >> [ 40.085532] dev->kobj->name=event4 >> [ 40.085534] dev->parent->kobj->k_name=input4 >> [ 40.085535] dev->parent->kobj->name=input4 > > Strange. > > What's the setting of CONFIG_SYSFS_DEPRECATED? Maybe there is > something that needs to be fixed in the block patch where the code > snippet is coming from. It was =y, I changed it to =n and... it becomes worse: [ 40.697936] dev->parent && !dev->parent->bus: [ 40.697940] dev->kobj->k_name=midiC1D0 [ 40.697943] dev->kobj->name=midiC1D0 [ 40.697944] dev->parent->kobj->k_name=card1 [ 40.697946] dev->parent->kobj->name=card1 [ 40.698192] dev->parent && !dev->parent->bus: [ 40.698194] dev->kobj->k_name=midi1 [ 40.698196] dev->kobj->name=midi1 [ 40.698197] dev->parent->kobj->k_name=card1 [ 40.698199] dev->parent->kobj->name=card1 [ 40.698466] dev->parent && !dev->parent->bus: [ 40.698468] dev->kobj->k_name=dmmi
Fwd: PNP: Lindent all source files
Does anyone ever review what Lindent does? There's a fix up patch after this but it missed this at the very top of the patch and the labels. > Gitweb: > http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9dd78466c956ac4b4f38e12032dc4249ccf57ad1 > Commit: 9dd78466c956ac4b4f38e12032dc4249ccf57ad1 > Parent: 8ec3cf7d29aef773eee5bc6cd9b0fa4d3fb42480 > Author: Bjorn Helgaas <[EMAIL PROTECTED]> > AuthorDate: Thu Jul 26 10:41:20 2007 -0700 > Committer: Linus Torvalds <[EMAIL PROTECTED]> > CommitDate: Thu Jul 26 11:35:20 2007 -0700 > > PNP: Lindent all source files > > diff --git a/drivers/pnp/card.c b/drivers/pnp/card.c > index dd6384b..a379a38 100644 > --- a/drivers/pnp/card.c > +++ b/drivers/pnp/card.c > @@ -13,26 +13,28 @@ > - if (compare_pnp_id(dev->id, > drv_id->devs[i].id)) { > + if (compare_pnp_id > + (dev->id, drv_id->devs[i].id)) { Leaving only the function name on a seperate line? How is that better? > @@ -320,7 +330,7 @@ found: > > return dev; > > -err_out: > + err_out: > dev->dev.driver = NULL; > dev->card_link = NULL; > return NULL; Six spaces before a label that originally had no indentation? The spaces it uses on lines after if (which happens all over the place) appear to go against CodingStyle's: "Outside of comments, documentation and except in Kconfig, spaces are never used for indentation, and the above example is deliberately broken." -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Fork Bombing Patch
On Wed, August 29, 2007 10:48, Anand Jahagirdar wrote: > Hi > printk_ratelimit function takes care of flooding the > syslog. due to printk_ratelimit function syslog will not be flooded > anymore. as soon as administrator gets this message, he can take > action against that user (may be block user's access on server). i > think the my fork patch is very useful and helps administrator lot. > i would also like to mention that in some of the cases > ulimit solution wont work. in that case fork bombing takes the machine > and server needs a reboot. i am sure in that situation this printk > statement helps administrator to know what has happened. If ulimit "wont work" in some situations, how is it going to trigger this printk? (When doesn't it work?) > Anand > > On 8/24/07, Chris Snook <[EMAIL PROTECTED]> wrote: >> Krzysztof Halasa wrote: >> > Hi, >> > >> > "Anand Jahagirdar" <[EMAIL PROTECTED]> writes: >> > >> >>I am forwarding one more improved patch which i have modified as >> >> per your suggestions. Insted of KERN_INFO i have used KERN_NOTICE and >> >> i have added one more if block to check hard limit. how good it is? >> > >> > Not very, still lacks "#ifdef CONFIG_something" and the required >> > Kconfig change (or other runtime thing defaulting to "no printk"). >> >> Wrapping a single printk that's unrelated to debugging in an #ifdef >> CONFIG_* or a sysctl strikes me as abuse of those configuration >> facilities. Where would we draw the line for other patches wanting to >> do similar things? >> >> I realized that even checking the hard limit it insufficient, because >> that can be lowered (but not raised) by unprivileged processes. If we >> can't do this unconditionally (and we can't, because the log pollution >> would be intolerable for many people) then we shouldn't do it at all. >> >> Anand -- I appreciate the effort, but I think you should reconsider >> precisely what problem you're trying to solve here. This approach can't >> tell the difference between legitimate self-regulation of resource >> utilization and a real attack. Worse, in the event of a real attack, it >> could be used to make it more difficult for the administrator to notice >> something much more serious than a forkbomb. >> >> I suspect that userspace might be a better place to solve this problem. >> You could run your monitoring app with elevated or even realtime >> priority to ensure it will still function, and you have much more >> freedom in making the reporting configurable. You can also look at much >> more data than we could ever allow in fork.c, and possibly detect >> attacks that this patch would miss if a clever attacker stayed just >> below the limit. >> >>-- Chris >> > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to [EMAIL PROTECTED] > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ > -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
e1000 doesn't resume properly from standby (2.6.23-rc2)
0:0c activated. [ 959.883939] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX [ 961.866287] hde: selected mode 0x45 [ 965.310493] hdg: selected mode 0x45 [ 965.316152] hdh: selected mode 0x42 [ 969.135523] hda: selected mode 0x46 [ 973.454631] hdb: selected mode 0x45 [ 973.457179] hdc: selected mode 0x44 [ 973.459550] hdd: selected mode 0x42 [ 973.950474] Restarting tasks ... done. [ 974.261357] agpgart: Found an AGP 2.0 compliant device at :00:00.0. [ 974.262099] agpgart: Putting AGP V2 device at :00:00.0 into 4x mode [ 974.262620] agpgart: Putting AGP V2 device at :01:00.0 into 4x mode [ 974.262894] [drm] Loading R200 Microcode eth0 now doesn't receive anything - it's transmitting ok because I can receive its packets on another host. It's also still getting interrupts. If I then ifconfig eth0 down and up, or change the MTU (since that resets the link on e1000), it starts working again: [ 993.926603] e1000: eth0: e1000_watchdog: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX There's a link up at 959.883939 too... -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
check_irq_resend warning from pdc202xx_new
[ 36.667137] PDC20269: IDE controller at PCI slot :00:0b.0 [ 36.667285] ACPI: PCI Interrupt :00:0b.0[A] -> Link [LNKD] -> GSI 12 (level, low) -> IRQ 12 [ 36.667450] PDC20269: chipset revision 2 [ 36.677550] PDC20269: PLL input clock is 16652 kHz [ 36.707624] PDC20269: 100% native mode on irq 12 [ 36.707683] ide2: BM-DMA at 0xc800-0xc807, BIOS settings: hde:pio, hdf:pio [ 36.707848] ide3: BM-DMA at 0xc808-0xc80f, BIOS settings: hdg:pio, hdh:pio [ 36.708021] Probing IDE interface ide2... [ 37.187497] hde: WDC WD1200PB-00FBA0, ATA DISK drive [ 38.181060] hde: selected mode 0x45 [ 38.182293] ide2 at 0xb800-0xb807,0xbc02 on irq 12 [ 38.182816] Probing IDE interface ide3... [ 38.828172] hdg: ST340810A, ATA DISK drive [ 39.922933] hdh: IDE DVD-ROM 16X, ATAPI CD/DVD-ROM drive [ 40.141733] WARNING: at kernel/irq/resend.c:70 check_irq_resend() [ 40.141788] [] show_trace_log_lvl+0x1a/0x30 [ 40.141882] [] show_trace+0x12/0x20 [ 40.141964] [] dump_stack+0x15/0x20 [ 40.142044] [] check_irq_resend+0xab/0xb0 [ 40.142135] [] enable_irq+0xb4/0xc0 [ 40.142216] [] probe_hwif+0x35f/0x4a0 [ 40.142301] [] probe_hwif_init_with_fixup+0xf/0x90 [ 40.142384] [] ide_setup_pci_device+0x83/0xb0 [ 40.142468] [] init_setup_pdcnew+0x8/0x10 [ 40.142558] [] pdc202new_init_one+0x12/0x20 [ 40.142640] [] ide_scan_pcidev+0x42/0x70 [ 40.142729] [] ide_scan_pcibus+0x27/0xf0 [ 40.142811] [] probe_for_hwifs+0xd/0x20 [ 40.142892] [] ide_init+0x3c/0x60 [ 40.142972] [] do_initcalls+0x49/0x1e0 [ 40.143056] [] do_basic_setup+0x1c/0x30 [ 40.143137] [] kernel_init+0x55/0xb0 [ 40.143218] [] kernel_thread_helper+0x7/0x10 [ 40.143300] === [ 40.146267] hdg: selected mode 0x45 [ 40.149171] hdh: selected mode 0x42 [ 40.149548] ide3 at 0xc000-0xc007,0xc402 on irq 12 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] DVB: remove bogus BUG_ON in videobuf_dvb_thread
Since videobuf_waiton is called with intr=1, it can return -EINTR and therefore err may be non-zero. This happens when the system goes into the standby state. Without the BUG() occurring, there's no problem with standby mode while DVB is being used. --- int videobuf_waiton(struct videobuf_buffer *vb, int non_blocking, int intr); [ 224.561803] Stopping tasks ... <0>[ cut here ] [ 224.712939] kernel BUG at drivers/media/video/video-buf-dvb.c:59! [ 224.712951] invalid opcode: [#1] [ 224.712957] PREEMPT [ 224.712969] Modules linked in: [ 224.712985] CPU:0 [ 224.712987] EIP:0060:[]Not tainted VLI [ 224.712989] EFLAGS: 00010286 (2.6.23-rc2-git #282) [ 224.713019] EIP is at videobuf_dvb_thread+0x160/0x170 [ 224.713028] eax: fffc ebx: 0282 ecx: edx: [ 224.713038] esi: eeda63c0 edi: b1a1fa3c ebp: ea82bfcc esp: ea82bfb0 [ 224.713046] ds: 007b es: 007b fs: gs: ss: 0068 [ 224.713055] Process saa7134[0] dvb (pid: 6649, ti=ea82a000 task=eb1d5550 task.ti=ea82a000) [ 224.713064] Stack: 0009 b011ec68 b1a1fa44 b1a1fb28 b1a1fa3c b03a05e0 fffc ea82bfe0 [ 224.713103]b0135dec b0135d90 b0104e57 ea82fd70 [ 224.713140] 09010df7 862a0510 [ 224.713170] Call Trace: [ 224.713178] [] show_trace_log_lvl+0x1a/0x30 [ 224.713206] [] show_stack_log_lvl+0x8b/0xb0 [ 224.713220] [] show_registers+0x1c3/0x320 [ 224.713235] [] die+0xff/0x210 [ 224.713248] [] do_trap+0x91/0xd0 [ 224.713261] [] do_invalid_op+0x88/0xa0 [ 224.713274] [] error_code+0x6a/0x70 [ 224.713296] [] kthread+0x5c/0x90 [ 224.713313] [] kernel_thread_helper+0x7/0x10 [ 224.713327] === [ 224.713335] Code: 8b 00 c7 04 24 c8 21 63 b0 89 44 24 04 e8 c9 29 d8 ff e9 cd fe ff ff 8b 07 c7 04 24 e8 21 63 b0 89 44 24 04 e8 b2 29 d8 ff eb c2 <0f> 0b eb fe 8d b6 00 00 00 00 8d bf 00 00 00 00 55 ba ea ff ff [ 224.713590] EIP: [] videobuf_dvb_thread+0x160/0x170 SS:ESP 0068:ea82bfb0 [ 224.713893] done. drivers/media/video/video-buf-dvb.c |1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/drivers/media/video/video-buf-dvb.c b/drivers/media/video/video-buf-dvb.c index e617925..d2af82d 100644 --- a/drivers/media/video/video-buf-dvb.c +++ b/drivers/media/video/video-buf-dvb.c @@ -56,7 +56,6 @@ static int videobuf_dvb_thread(void *data) struct videobuf_buffer, stream); list_del(&buf->stream); err = videobuf_waiton(buf,0,1); - BUG_ON(0 != err); /* no more feeds left or stop_feed() asked us to quit */ if (0 == dvb->nfeeds) -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: e1000 doesn't resume properly from standby (2.6.23-rc2)
On 06/08/07 04:01, Kok, Auke wrote: > Simon Arlott wrote: >> 00:0a.0 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet >> Controller (Copper) (rev 01) >> Subsystem: Intel Corp.: Unknown device 1012 >> Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 5 >> Memory at e302 (64-bit, non-prefetchable) [size=128K] >> I/O ports at b000 [size=64] >> Capabilities: [dc] Power Management version 2 >> Capabilities: [e4] PCI-X non-bridge device. >> Capabilities: [f0] Message Signalled Interrupts: 64bit+ >> Queue=0/0 Enable- >> >> 00:0a.1 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet >> Controller (Copper) (rev 01) >> Subsystem: Intel Corp.: Unknown device 1012 >> Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 12 >> Memory at e300 (64-bit, non-prefetchable) [size=128K] >> I/O ports at b400 [size=64] >> Capabilities: [dc] Power Management version 2 >> Capabilities: [e4] PCI-X non-bridge device. >> Capabilities: [f0] Message Signalled Interrupts: 64bit+ >> Queue=0/0 Enable- >> >> [ 950.132046] Stopping tasks ... done. >> [ 950.459794] Suspending console(s) >> [ 951.776277] pnp: Device 00:0c disabled. >> [ 951.776673] pnp: Device 00:0a disabled. >> [ 951.776984] pnp: Device 00:09 disabled. >> [ 951.777306] pnp: Device 00:08 disabled. >> [ 951.86] ACPI: PCI interrupt for device :00:11.5 disabled >> [ 951.995359] ACPI: PCI interrupt for device :00:11.3 disabled >> [ 952.006094] ACPI: PCI interrupt for device :00:11.2 disabled >> [ 952.022243] ACPI handle has no context! >> [ 952.033068] ACPI: PCI interrupt for device :00:0c.2 disabled >> [ 952.044086] ACPI: PCI interrupt for device :00:0c.1 disabled >> [ 952.055083] ACPI: PCI interrupt for device :00:0c.0 disabled >> [ 952.282211] ACPI: PCI interrupt for device :00:0a.1 disabled >> [ 952.282221] ACPI handle has no context! >> [ 952.537474] ACPI: PCI interrupt for device :00:0a.0 disabled >> [ 952.537495] ACPI handle has no context! >> >> [ 956.857085] Back to C! >> [ 957.295035] ACPI: Unable to turn cooling device [b18d0e00] 'off' >> [ 957.521400] PCI: Setting latency timer of device :00:01.0 to 64 >> [ 957.521478] ACPI: PCI Interrupt :00:09.0[A] -> Link [LNKB] -> >> GSI 11 (level, low) -> IRQ 11 >> [ 957.532256] PM: Writing back config space on device :00:0a.0 at >> offset f (was ff0100, writing ff0105) >> [ 957.532277] PM: Writing back config space on device :00:0a.0 at >> offset 8 (was 1, writing b001) >> [ 957.532291] PM: Writing back config space on device :00:0a.0 at >> offset 4 (was 4, writing e3020004) >> [ 957.532299] PM: Writing back config space on device :00:0a.0 at >> offset 3 (was 80, writing 802008) >> [ 957.532309] PM: Writing back config space on device :00:0a.0 at >> offset 1 (was 230, writing 237) >> [ 957.532339] ACPI: PCI Interrupt :00:0a.0[A] -> Link [LNKC] -> >> GSI 5 (level, low) -> IRQ 5 >> [ 957.567251] PM: Writing back config space on device :00:0a.1 at >> offset f (was ff0200, writing ff020c) >> [ 957.567275] PM: Writing back config space on device :00:0a.1 at >> offset 8 (was 1, writing b401) >> [ 957.567290] PM: Writing back config space on device :00:0a.1 at >> offset 4 (was 4, writing e304) >> [ 957.567298] PM: Writing back config space on device :00:0a.1 at >> offset 3 (was 80, writing 802008) >> [ 957.567308] PM: Writing back config space on device :00:0a.1 at >> offset 1 (was 230, writing 237) >> [ 957.567346] ACPI: PCI Interrupt :00:0a.1[B] -> Link [LNKD] -> >> GSI 12 (level, low) -> IRQ 12 >> [ 957.589975] ACPI: PCI Interrupt :00:0b.0[A] -> Link [LNKD] -> >> GSI 12 (level, low) -> IRQ 12 >> [ 957.600217] ACPI: PCI Interrupt :00:0c.0[A] -> Link [LNKA] -> >> GSI 11 (level, low) -> IRQ 11 >> [ 957.611230] ACPI: PCI Interrupt :00:0c.1[B] -> Link [LNKB] -> >> GSI 11 (level, low) -> IRQ 11 >> [ 957.838282] ACPI: PCI Interrupt :00:0c.2[C] -> Link [LNKC] -> >> GSI 5 (level, low) -> IRQ 5 >> [ 957.902166] ohci1394: fw-host0: OHCI-1394 1.0 (PCI): IRQ=[11] >> MMIO=[e3046000-e30467ff] Max Packet=[512] IR/IT contexts=[4/8] >> [ 957.911656] ACPI: PCI Interrupt :00:11.1[A] -> Link [LNKA] -> >> GSI 11 (level, low) -> IRQ 11 >> [ 957.911666] PCI: VIA
Re: e1000 doesn't resume properly from standby (2.6.23-rc2)
On Mon, August 6, 2007 11:44, Pavel Machek wrote: > Hi! > >> >00:0a.0 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet >> >Controller (Copper) (rev 01) >> >Subsystem: Intel Corp.: Unknown device 1012 >> >Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 5 >> >Memory at e302 (64-bit, non-prefetchable) [size=128K] >> >I/O ports at b000 [size=64] >> >Capabilities: [dc] Power Management version 2 >> >Capabilities: [e4] PCI-X non-bridge device. >> >Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0 >> >Enable- >> > >> >00:0a.1 Ethernet controller: Intel Corp. 82546EB Gigabit Ethernet >> >Controller (Copper) (rev 01) >> >Subsystem: Intel Corp.: Unknown device 1012 >> >Flags: bus master, 66Mhz, medium devsel, latency 32, IRQ 12 >> >Memory at e300 (64-bit, non-prefetchable) [size=128K] >> >I/O ports at b400 [size=64] >> >Capabilities: [dc] Power Management version 2 >> >Capabilities: [e4] PCI-X non-bridge device. >> >Capabilities: [f0] Message Signalled Interrupts: 64bit+ Queue=0/0 >> >Enable- >> > >> >[ 950.132046] Stopping tasks ... done. >> >[ 950.459794] Suspending console(s) >> >[ 951.776277] pnp: Device 00:0c disabled. >> >[ 951.776673] pnp: Device 00:0a disabled. >> >[ 951.776984] pnp: Device 00:09 disabled. >> >[ 951.777306] pnp: Device 00:08 disabled. >> >[ 951.86] ACPI: PCI interrupt for device :00:11.5 disabled >> >[ 951.995359] ACPI: PCI interrupt for device :00:11.3 disabled >> >[ 952.006094] ACPI: PCI interrupt for device :00:11.2 disabled >> >[ 952.022243] ACPI handle has no context! >> >[ 952.033068] ACPI: PCI interrupt for device :00:0c.2 disabled >> >[ 952.044086] ACPI: PCI interrupt for device :00:0c.1 disabled >> >[ 952.055083] ACPI: PCI interrupt for device :00:0c.0 disabled >> >[ 952.282211] ACPI: PCI interrupt for device :00:0a.1 disabled >> >[ 952.282221] ACPI handle has no context! >> >[ 952.537474] ACPI: PCI interrupt for device :00:0a.0 disabled >> >[ 952.537495] ACPI handle has no context! >> > >> >[ 956.857085] Back to C! > > Are you sure that is standby? Looks like suspend-to-RAM to me. It's S1 (power-on suspend/standby), my BIOS/motherboard doesn't support S2 or S3. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] kexec: fix pci device initialization fail after kexec (2.6.23-rc2). (Related to e1000 doesn't resume properly from standby)
On 06/08/07 16:50, Joonwoo Park wrote: > 2007/8/6, Rafael J. Wysocki <[EMAIL PROTECTED]>: >> On Monday, 6 August 2007 15:42, Joonwoo Park wrote: >> > Hi. >> > I think that the pci_set_power_state() has bug. >> > The specification says that some delays is required. >> >> And they are in place, AFAICS (from drivers/pci/pci.c): >> >>/* Mandatory power management transition delays */ >>/* see PCI PM 1.1 5.6.1 table 18 */ >>if (state == PCI_D3hot || dev->current_state == PCI_D3hot) >>msleep(pci_pm_d3_delay); >>else if (state == PCI_D2 || dev->current_state == PCI_D2) >>udelay(200); >> > > The problem is occurred when state is 'PCI_D0', so those codes can't cover it. > But pci pm specification 5.4.1 says that when programmed to D0 the > equivalent of a warm reset, delay for the duration of the D3hot to D0 > Uninitialized state > transition (10ms) to pci signal drivers remain disabled is required. > >> > Simon, please can I know whether it works to you? >> > It is seems to the things are related. >> > >> > Joonwoo Park. >> > >> > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c >> > index 37c00f6..9f78064 100644 >> > --- a/drivers/pci/pci.c >> > +++ b/drivers/pci/pci.c >> > @@ -493,8 +493,14 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t >> > state) >> >* restore at least the BARs so that the device will be >> >* accessible to its driver. >> >*/ >> > - if (need_restore) >> > + if (need_restore) { >> > + /* The specification also says that "Must ensure that all of >> > +* its PCI signal drivers remain disabled for the duration of >> > +* the D3hot to D0 Uninitialized state transition". >> > +*/ >> > + msleep(10); >> >> It's too late for the delay. >> > > How about this? It doesn't fix it. > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index 37c00f6..974dd04 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -471,6 +471,8 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t > state) > msleep(pci_pm_d3_delay); > else if (state == PCI_D2 || dev->current_state == PCI_D2) > udelay(200); > + else if (state == PCI_D0) > + msleep(10); > > /* > * Give firmware a chance to be called, such as ACPI _PRx, _PSx > > >> > pci_restore_bars(dev); >> > + } >> > >> > return 0; >> > } Your patches have spaces everywhere instead of tabs. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] IPv6: ipv6_addr_type() doesn't know about RFC4193 addresses
On 26/07/07 00:49, Dave Johnson wrote: > ipv6_addr_type() doesn't check for 'Unique Local IPv6 Unicast > Addresses' (RFC4193) and returns IPV6_ADDR_RESERVED for that range. > + if ((st & htonl(0xFE00)) == htonl(0xFC00)) > + return (IPV6_ADDR_UNICAST | > + IPV6_ADDR_SCOPE_TYPE(IPV6_ADDR_SCOPE_GLOBAL)); > /* RFC 4193 */ But ULA's scope isn't global, shouldn't it be IPV6_ADDR_SCOPE_ORGLOCAL ? -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH] [133/2many] MAINTAINERS - CONEXANT ACCESSRUNNER USB DRIVER
On 13/08/07 07:25, [EMAIL PROTECTED] wrote: > Add file pattern to MAINTAINER entry > > Signed-off-by: Joe Perches <[EMAIL PROTECTED]> > > diff --git a/MAINTAINERS b/MAINTAINERS > index 594881d..d0a436a 100644 > --- a/MAINTAINERS > +++ b/MAINTAINERS > @@ -1287,6 +1287,7 @@ M: [EMAIL PROTECTED] > L: [EMAIL PROTECTED] > W: http://accessrunner.sourceforge.net/ > S: Maintained > +F: drivers/usb/atm/cxacru.c > > CORETEMP HARDWARE MONITORING DRIVER > P: Rudolf Marek NAK: Strange patch title "[133/2many] " See Documentation/SubmittingPatches sections 1.2, 1.3, 1.5, 1.6, 3: http://marc.info/?l=linux-kernel&m=112112749912944&w=2 http://vger.kernel.org/z/zmailer-rrd-vger_SNMP_SYS_Load-Avg-5-min-G.html http://vger.kernel.org/z/zmailer-rrd-vger_SNMP_SYS_SpoolUsedSpace-kB-G.html -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: LSM conversion to static interface
On Mon, October 22, 2007 18:13, Greg KH wrote: > I agree, that is why customers do not load other random security modules > in their kernel today, and why they will not do so tomorrow. So, > because of that, this whole point about compliance with regulatory law > seems kind of moot :) > > Again, LSM isn't going away at all, this is just one config option for > allowing LSM to work as a module that is changing. If a customer > demands that this feature come back, I'm sure that the big distros will > be the first to push for it. But currently, given that there are no > known external LSMs being used by customers demanding support, I don't > see what the big issue here really is. I have an out of tree module to do per-port (tcp/udp) bind permissions, it works fine with the "capability" module as secondary and I can load or unload both of them at any time... this recent change completely breaks that. (I had to #include dummy.c though). Why should I now need to: 1. reboot every time I change the code when I could just reload modules before? 2. put it into my kernel source tree to use it? -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Linux Security *Module* Framework (Was: LSM conversion to static interface
I currently have an LSM that only handles permissions for socket_bind and socket_listen, I load it and then "capability" as secondary on boot - but now I can't because the LSM framework is now just the LS framework. Why can't this "static LSM" change be a Kconfig option? (I don't want to have to maintain my own reverted copy of security/, or compile this into the kernel because then I can't ever modify and reload it without rebooting.) -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Linux Security *Module* Framework (Was: LSM conversion to static interface)
On 24/10/07 13:55, Adrian Bunk wrote: > On Wed, Oct 24, 2007 at 12:50:29PM +0100, Simon Arlott wrote: >> I currently have an LSM that only handles permissions for socket_bind >> and socket_listen, I load it and then "capability" as secondary on >> boot - but now I can't because the LSM framework is now just the LS >> framework. >> >> Why can't this "static LSM" change be a Kconfig option? >> (I don't want to have to maintain my own reverted copy of security/, >> or compile this into the kernel because then I can't ever modify and >> reload it without rebooting.) > > Let's start with the more important questions: > > Did you submit your LSM for inclusion into the kernel? No, because the interface for configuring it would be rejected... I have a /proc file which I write a binary configuration file to. This works fine for me but it would take a lot of work to write a proper interface - which I'm still not sure how to do*. That doesn't solve the problem that it's no longer possible to reload LSM modules to make changes at runtime. Why should I have to reboot to change something from now on when it works ok? The reasoning seems to be based around a dislike of some out of tree modules. (Although it doesn't look like there's appropriate locking around the register/unregister process.) * (I've got a list of access rules which are scanned in order until one of them matches, and an array of one bit for every port for per-port default allow/deny - although the latter could be removed. http://svn.lp0.eu/simon/portac/trunk/) -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Linux Security *Module* Framework (Was: LSM conversion to static interface)
On 24/10/07 19:51, Jan Engelhardt wrote: > On Oct 24 2007 19:11, Simon Arlott wrote: >> >>* (I've got a list of access rules which are scanned in order until one of >>them matches, and an array of one bit for every port for per-port default >>allow/deny - although the latter could be removed. >>http://svn.lp0.eu/simon/portac/trunk/) > > Besides the 'feature' of inhibiting port binding, > is not this task of blocking connections something for a firewall? The firewall blocks incoming connections where appropriate, yes, but it doesn't stop one user binding to a port that another user expected to be able to use. "Ownership" of ports (1-1023) shouldn't be something only root (via CAP_NET_BIND_SERVICE) has. Lots of services also don't have standard ports below 1024 and it's useful to be able to prevent users from binding to them too. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Linux Security *Module* Framework (Was: LSM conversion to static interface)
On Wed, October 24, 2007 22:02, David P. Quigley wrote: > Apparmor wants to lock down some application, it gives the application > access to a particular port, and the minimal set of privileges needed to > execute the application. Since Apparmor is "easy to use" (note the > quotes are to indicate they aren't my words not sarcasm) and SUSE comes > with a targeted policy the user isn't concerned with it. Now multiadm > comes along and an administrator wishes to grant extra rights to a user. > This is fine with multiadm alone since it is the main security module, > however we now have to compose this with AppArmor. So an administrator > runs into an error running his application. Is this because his user > isn't granted the proper escalated privileges? Is it because AppArmor > needs an extra rule to run the application? It could also be that our > third module has blocked the application because it determined that even > though multiadm specified that the user should have the elevated > privileges to run the application that user shouldn't be able to bind to > that port. > > There might be a better example to illustrate the problem however, this > simple example shows the interdependency of three seemingly simple > modules. Imagine what happens when people really let loose and implement > all sorts of crazy ideas and stack them on top of each other. Stacking > works in things such as file systems because we have a clearly defined > interface with fixed solid semantics. You could attempt to do that but > once you have modules that step on each others toes you have to figure > out a way to reconcile that. It seems to me that you're going to > introduce usability problems that are hard to deal with. I agree that it can cause problems, but it's up to the modules themselves to determine how to combine permissions with their immediate secondary module. Instead we now have a static LSM where combining features from one module means duplicating it in another - then when two modules contain most of the other's code, but perhaps vastly different configuration mechanisms, someone will propose removing one of the two... -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Linux Security *Module* Framework (Was: LSM conversion to static interface)
On Wed, October 24, 2007 23:31, Adrian Bunk wrote: > On Wed, Oct 24, 2007 at 07:11:17PM +0100, Simon Arlott wrote: >> On 24/10/07 13:55, Adrian Bunk wrote: >> > On Wed, Oct 24, 2007 at 12:50:29PM +0100, Simon Arlott wrote: >> >> I currently have an LSM that only handles permissions for socket_bind >> >> and socket_listen, I load it and then "capability" as secondary on >> >> boot - but now I can't because the LSM framework is now just the LS >> >> framework. >> >> >> >> Why can't this "static LSM" change be a Kconfig option? >> >> (I don't want to have to maintain my own reverted copy of security/, >> >> or compile this into the kernel because then I can't ever modify and >> >> reload it without rebooting.) >> > >> > Let's start with the more important questions: >> > >> > Did you submit your LSM for inclusion into the kernel? >> >> No, because the interface for configuring it would be rejected... I have >> a /proc file which I write a binary configuration file to. This works >> fine for me but it would take a lot of work to write a proper interface >> - which I'm still not sure how to do*. >>... > > Generally, the goal is to get external modules included into the kernel. > > You want to be able to have this functionality and you do not want to > use SELinux for it. SELinux couldn't do it when I wrote my own module, it may do now but I haven't checked - that's also far too much extra configuration overhead to do something relatively simple. > But instead of working on getting your code into the kernel you are > requesting that an API making it easier for you to maintain it > externally comes back. It's also much harder to maintain it internally too since it can no longer be compiled as a module. If it were possible to have to make LSM usable as a module but without secondary support, that would make development easier - although secondary support is so trivial I doubt it makes a difference to the possibility of allowing it to be compiled as a module again. > There are other points in this thread that might or might not warrant > making LSM modular again, but even though it might sound harsh breaking > external modules and thereby making people aware that their code should > get into the kernel is IMHO a positive point. You're only going to be forcing me to spend *my* time developing it into something that could be accepted into the kernel when it works fine for me already. Then I'd have to convince the LSM maintainer(s) that it should be merged - this isn't like an external hardware driver where there's no existing support in the kernel. >> Simon Arlott > > cu > Adrian -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Linux machines dieing in swap storms
On 25/10/07 16:20, Richard Purdie wrote: > This isn't a new problem. My mail server used to be running an ancient > 2.6.12 kernel and I upgraded it to 2.6.22.X in an effort to solve this > problem which no change. My desktop shows exactly the same kind of OOM > swap storm behaviour (2.6.20 based). > > I realise that tuning the OOM killer is a really tricky problem but > something needs improving as the current user experience is broken. > > I'm seriously tempted to add a "kill the process using the most memory" > key combination into SysRq which might let me save the desktop but won't > help with my remote server. I could also just disable swap I guess. I have no swap. If I accidentally start The GIMP and load a very large image, everything just freezes and I have to reboot - the OOM killer doesn't appear to care. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/2] usbatm: Increment module refcount when atm device is opened.
Increment usbatm driver module refcount when atm device is opened, this prevents the driver for the device being removed if it's in use. (I continue to allow removing the driver without unplugging the device if it's not being used). No problems occur if the atm device is open while the device is unplugged. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/cxacru.c |1 + drivers/usb/atm/speedtch.c |1 + drivers/usb/atm/ueagle-atm.c |1 + drivers/usb/atm/usbatm.c | 14 -- drivers/usb/atm/usbatm.h |1 + drivers/usb/atm/xusbatm.c|1 + 6 files changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index 1049e34..424b0f4 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -980,6 +980,7 @@ static const struct usb_device_id cxacru MODULE_DEVICE_TABLE(usb, cxacru_usb_ids); static struct usbatm_driver cxacru_driver = { + .owner = THIS_MODULE, .driver_name= cxacru_driver_name, .bind = cxacru_bind, .heavy_init = cxacru_heavy_init, diff --git a/drivers/usb/atm/speedtch.c b/drivers/usb/atm/speedtch.c index 638b800..5d6a0eb 100644 --- a/drivers/usb/atm/speedtch.c +++ b/drivers/usb/atm/speedtch.c @@ -924,6 +924,7 @@ static void speedtch_unbind(struct usbat ***/ static struct usbatm_driver speedtch_usbatm_driver = { + .owner = THIS_MODULE, .driver_name= speedtch_driver_name, .bind = speedtch_bind, .heavy_init = speedtch_heavy_init, diff --git a/drivers/usb/atm/ueagle-atm.c b/drivers/usb/atm/ueagle-atm.c index dae4ef1..e32c93f 100644 --- a/drivers/usb/atm/ueagle-atm.c +++ b/drivers/usb/atm/ueagle-atm.c @@ -1735,6 +1735,7 @@ static void uea_unbind(struct usbatm_dat } static struct usbatm_driver uea_usbatm_driver = { + .owner = THIS_MODULE, .driver_name = "ueagle-atm", .bind = uea_bind, .atm_start = uea_atm_open, diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index d91ed11..83cea01 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -828,6 +828,12 @@ static int usbatm_atm_open(struct atm_vc mutex_lock(&instance->serialize); /* vs self, usbatm_atm_close, usbatm_usb_disconnect */ + if (!try_module_get(instance->driver->owner)) { + atm_dbg(instance, "%s: try_module_get failed\n", __func__); + ret = -ENODEV; + goto fail; + } + if (instance->disconnected) { atm_dbg(instance, "%s: disconnected!\n", __func__); ret = -ENODEV; @@ -854,7 +860,7 @@ static int usbatm_atm_open(struct atm_vc if (!new->sarb) { atm_err(instance, "%s: no memory for SAR buffer!\n", __func__); ret = -ENOMEM; - goto fail; + goto fail_free; } vcc->dev_data = new; @@ -876,8 +882,10 @@ static int usbatm_atm_open(struct atm_vc return 0; -fail: +fail_free: kfree(new); +fail: + module_put(instance->driver->owner); mutex_unlock(&instance->serialize); return ret; } @@ -922,6 +930,8 @@ static void usbatm_atm_close(struct atm_ clear_bit(ATM_VF_PARTIAL, &vcc->flags); clear_bit(ATM_VF_ADDR, &vcc->flags); + module_put(instance->driver->owner); + mutex_unlock(&instance->serialize); atm_dbg(instance, "%s successful\n", __func__); diff --git a/drivers/usb/atm/usbatm.h b/drivers/usb/atm/usbatm.h index d3c0ee4..4a172a9 100644 --- a/drivers/usb/atm/usbatm.h +++ b/drivers/usb/atm/usbatm.h @@ -103,6 +103,7 @@ struct usbatm_data; */ struct usbatm_driver { + struct module *owner; const char *driver_name; /* init device ... can sleep, or cause probe() failure */ diff --git a/drivers/usb/atm/xusbatm.c b/drivers/usb/atm/xusbatm.c index 70125c6..8c425d7 100644 --- a/drivers/usb/atm/xusbatm.c +++ b/drivers/usb/atm/xusbatm.c @@ -205,6 +205,7 @@ static int __init xusbatm_init(void) xusbatm_usb_ids[i].idVendor = vendor[i]; xusbatm_usb_ids[i].idProduct= product[i]; + xusbatm_drivers[i].owner= THIS_MODULE; xusbatm_drivers[i].driver_name = xusbatm_driver_name; xusbatm_drivers[i].bind = xusbatm_bind; xusbatm_drivers[i].unbind = xusbatm_unbind; -- 1.4.3.1 -- Simon Arlott signature.asc Description: OpenPGP digital signature
[PATCH 2/2] usbatm: Detect usb device shutdown and ignore failed urbs.
Detect usb device shutdown and ignore failed urbs. This happens when the driver is unloaded or the device is unplugged. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/usbatm.c |4 1 files changed, 4 insertions(+), 0 deletions(-) diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index 83cea01..1f5faee 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -274,6 +274,10 @@ static void usbatm_complete(struct urb * (!(channel->usbatm->flags & UDSL_IGNORE_EILSEQ) || urb->status != -EILSEQ )) { + /* the module/device has probably been removed */ + if (urb->status == -ESHUTDOWN) + return; + if (printk_ratelimit()) atm_warn(channel->usbatm, "%s: urb 0x%p failed (%d)!\n", __func__, urb, urb->status); -- 1.4.3.1 -- Simon Arlott signature.asc Description: OpenPGP digital signature
[PATCH] MAINTAINERS: Add myself for cxacru (in drivers/usb/atm/)
I've acquired a second device for testing and plan to make some changes in the near future to export all the device stats to sysfs (based on my proposed patch to add them to the proc file ~2007-01-30). Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- MAINTAINERS |5 + 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/MAINTAINERS b/MAINTAINERS index b0fd71b..2970154 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -934,6 +934,11 @@ M: [EMAIL PROTECTED] W: http://www.wittsend.com/computone.html S: Maintained +CONEXANT ACCESSRUNNER USB DRIVER +P: Simon Arlott +M: [EMAIL PROTECTED] +S: Maintained + COSA/SRP SYNC SERIAL DRIVER P: Jan "Yenya" Kasprzak M: [EMAIL PROTECTED] -- 1.4.3.1 -- Simon Arlott signature.asc Description: OpenPGP digital signature
Re: [PATCH 1/2] usbatm: Increment module refcount when atm device is opened.
On 22/02/07 09:48, Duncan Sands wrote: > What for? Did you see any problems with the way it works right now? It didn't make sense to be able to unload a module while it's actually in use, how does this work with automatic module loading/unloading (although I can't see how it's going to automatically load one of the sub drivers...)? > How it works now is that if the module is unloaded while the device is > in use, then the device is deregistered from the USB and ATM layers > before the module unload completes. Thus there should be no problem > unloading the device at any moment. Ok. > I'm guessing that you want this because of the better proc support you > would like to add, which adds an extra callback into the module. Actually it was partly because of the urb warning messages on unload... which the change doesn't even affect. > This too should cause no problems as long as the appropriate tweaks are > made to the shutdown code. I plan to make those adjustments, but I didn't > find time yet - sorry. I intend to export all the data via sysfs instead, since the current method of using proc (requiring several large enough read()s and no seeking) isn't very good and I can't see any way to improve it without caching the whole output from file open to close which atm doesn't support. I was thinking that the MAC address/AAL stats should be removed from the proc output since they're already available from the atm devices proc file? > PS: I plan to work on the drivers this weekend. I don't expect to require any changes to usbatm to support sysfs, since the attributes should go with the usb device itself (and not the atm device). Perhaps there could be symlinks in each direction between the usb device and the atm device (like dvb/v4l do, e.g. atm:cxacru0 in the usb device)? -- Simon Arlott signature.asc Description: OpenPGP digital signature
[PATCH] cxacru: Export detailed device info through sysfs.
When the device is polled for status there is a lot of useful status information available that is ignored. This patch stores the device info array when the status is polled and adds sysfs files to the usb device to allow userspace to query it. Since the device updates its status internally once a second the poll time is changed to this, and round_jiffies_relative is used to avoid waking the cpu unnecessarily. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/cxacru.c | 181 -- 1 files changed, 176 insertions(+), 5 deletions(-) diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index 71e19ae..c8b69bf 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -34,14 +34,14 @@ #include #include #include #include -#include /* FIXME: linux/firmware.h should include it itself */ +#include #include #include #include "usbatm.h" -#define DRIVER_AUTHOR "Roman Kagan, David Woodhouse, Duncan Sands" -#define DRIVER_VERSION "0.2" +#define DRIVER_AUTHOR "Roman Kagan, David Woodhouse, Duncan Sands, Simon Arlott" +#define DRIVER_VERSION "0.3" #define DRIVER_DESC"Conexant AccessRunner ADSL USB modem driver" static const char cxacru_driver_name[] = "cxacru"; @@ -64,7 +64,7 @@ #define BR_STACK_ADDR 0x00187f10 #define SDRAM_ENA 0x1 #define CMD_TIMEOUT2000/* msecs */ -#define POLL_INTERVAL 5000/* msecs */ +#define POLL_INTERVAL 1 /* secs */ /* commands for interaction with the modem through the control channel before * firmware is loaded */ @@ -159,6 +159,7 @@ struct cxacru_data { int line_status; struct delayed_work poll_work; + u32 card_info[CXINF_MAX+1]; /* contol handles */ struct mutex cm_serialize; @@ -170,6 +171,151 @@ struct cxacru_data { struct completion snd_done; }; +/* Card info exported through sysfs */ +#define CXACRU__ATTR_INIT(_name) \ +static DEVICE_ATTR(_name, S_IRUGO, cxacru_sysfs_show_##_name, NULL) + +#define CXACRU_ATTR_INIT(_value, _type, _name) \ +static ssize_t cxacru_sysfs_show_##_name(struct device *dev, \ + struct device_attribute *attr, char *buf) \ +{ \ + struct usb_interface *intf = to_usb_interface(dev); \ + struct usbatm_data *usbatm_instance = usb_get_intfdata(intf); \ + struct cxacru_data *instance = usbatm_instance->driver_data; \ + return cxacru_sysfs_showattr_##_type(instance->card_info[_value], buf); \ +} \ +CXACRU__ATTR_INIT(_name) + +#define CXACRU_ATTR_CREATE(_v, _t, _name) CXACRU_DEVICE_CREATE_FILE(_name) +#define CXACRU__ATTR_CREATE(_name)CXACRU_DEVICE_CREATE_FILE(_name) + +#define CXACRU_ATTR_REMOVE(_v, _t, _name) CXACRU_DEVICE_REMOVE_FILE(_name) +#define CXACRU__ATTR_REMOVE(_name)CXACRU_DEVICE_REMOVE_FILE(_name) + +static ssize_t cxacru_sysfs_showattr_u32(u32 value, char *buf) +{ + return snprintf(buf, PAGE_SIZE, "%u\n", value); +} + +static ssize_t cxacru_sysfs_showattr_s8(s8 value, char *buf) +{ + return snprintf(buf, PAGE_SIZE, "%d\n", value); +} + +static ssize_t cxacru_sysfs_showattr_dB(s16 value, char *buf) +{ + if (unlikely(value < 0)) { + return snprintf(buf, PAGE_SIZE, "%d.%02u\n", + value / 100, -value % 100); + } else { + return snprintf(buf, PAGE_SIZE, "%d.%02u\n", + value / 100, value % 100); + } +} + +static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf) +{ + switch (value) { + case 0: return snprintf(buf, PAGE_SIZE, "no\n"); + case 1: return snprintf(buf, PAGE_SIZE, "yes\n"); + default: return 0; + } +} + +static ssize_t cxacru_sysfs_showattr_LINK(u32 value, char *buf) +{ + switch (value) { + case 1: return snprintf(buf, PAGE_SIZE, "not connected\n"); + case 2: return snprintf(buf, PAGE_SIZE, "connected\n"); + case 3: return snprintf(buf, PAGE_SIZE, "lost\n"); + default: return snprintf(buf, PAGE_SIZE, "unknown (%u)\n", value); + } +} + +static ssize_t cxacru_sysfs_showattr_LINE(u32 value, char *buf) +{ + switch (value) { + case 0: return snprintf(buf, PAGE_SIZE, "down\n"); + case 1: return snprintf(buf, PAGE_SIZE, "attempting to activate\n"); + case 2: return snprintf(buf, PAGE_SIZE, "training\n"); + case 3: return snprintf(buf, PAGE_SIZE, "channel analysis\n"); + case 4: return snprintf(buf, PAGE_SIZE, "exchange\n"); + case 5: return snprintf(buf, PAGE_SIZE, "up\n"); + case 6: return snprintf(buf, PAGE_SIZE, "waiting\n"); + case 7: return snprintf(buf, PAGE_SIZE, "in
Re: [PATCH] cxacru: Export detailed device info through sysfs.
On 23/02/07 22:29, Simon Arlott wrote: > When the device is polled for status there is a lot of useful status > information available that is ignored. This patch stores the device > info array when the status is polled and adds sysfs files to the usb > device to allow userspace to query it. Since the device updates its > status internally once a second the poll time is changed to this, and > round_jiffies_relative is used to avoid waking the cpu unnecessarily. I also have a patch that can call the ADSL start/stop function on the device via sysfs, but it's inherently unstable because requests to start when running or stop when stopped will blocking until the state is changed. redrum 3-2:1.0 # echo no >adsl_running Feb 23 22:35:28 redrum [ 8574.166565] ATM dev 0: ADSL line: down redrum 3-2:1.0 # echo yes >adsl_running Feb 23 22:35:34 redrum [ 8580.169400] ATM dev 0: ADSL line: initializing --- diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index c8b69bf..33d6a7e 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -171,6 +171,9 @@ struct cxacru_data { struct completion snd_done; }; +static int cxacru_cm(struct cxacru_data *instance, enum cxacru_cm_request cm, + u8 *wdata, int wsize, u8 *rdata, int rsize); + /* Card info exported through sysfs */ #define CXACRU__ATTR_INIT(_name) \ static DEVICE_ATTR(_name, S_IRUGO, cxacru_sysfs_show_##_name, NULL) @@ -186,10 +189,16 @@ static ssize_t cxacru_sysfs_show_##_name } \ CXACRU__ATTR_INIT(_name) +#define CXACRU_CMD_INIT(_name) \ +static DEVICE_ATTR(_name, S_IWUSR | S_IRUGO, \ + cxacru_sysfs_show_##_name, cxacru_sysfs_store_##_name) + #define CXACRU_ATTR_CREATE(_v, _t, _name) CXACRU_DEVICE_CREATE_FILE(_name) +#define CXACRU_CMD_CREATE(_name) CXACRU_DEVICE_CREATE_FILE(_name) #define CXACRU__ATTR_CREATE(_name)CXACRU_DEVICE_CREATE_FILE(_name) #define CXACRU_ATTR_REMOVE(_v, _t, _name) CXACRU_DEVICE_REMOVE_FILE(_name) +#define CXACRU_CMD_REMOVE(_name) CXACRU_DEVICE_REMOVE_FILE(_name) #define CXACRU__ATTR_REMOVE(_name)CXACRU_DEVICE_REMOVE_FILE(_name) static ssize_t cxacru_sysfs_showattr_u32(u32 value, char *buf) @@ -213,6 +222,7 @@ static ssize_t cxacru_sysfs_showattr_dB( } } +/* static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf) { switch (value) { @@ -221,6 +231,7 @@ static ssize_t cxacru_sysfs_showattr_boo default: return 0; } } +*/ static ssize_t cxacru_sysfs_showattr_LINK(u32 value, char *buf) { @@ -278,6 +289,66 @@ static ssize_t cxacru_sysfs_show_mac_add atm_dev->esi[3], atm_dev->esi[4], atm_dev->esi[5]); } + +static ssize_t cxacru_sysfs_show_adsl_running(struct device *dev, + struct device_attribute *attr, char *buf) +{ + struct usb_interface *intf = to_usb_interface(dev); + struct usbatm_data *usbatm_instance = usb_get_intfdata(intf); + struct cxacru_data *instance = usbatm_instance->driver_data; + + switch (instance->card_info[CXINF_LINE_STARTABLE]) { + case 0: return snprintf(buf, PAGE_SIZE, "yes\n"); + case 1: return snprintf(buf, PAGE_SIZE, "no\n"); + default: return 0; + } +} + +static ssize_t cxacru_sysfs_store_adsl_running(struct device *dev, + struct device_attribute *attr, const char *buf, size_t count) +{ + int ret; + struct usb_interface *intf = to_usb_interface(dev); + struct usbatm_data *usbatm_instance = usb_get_intfdata(intf); + struct cxacru_data *instance = usbatm_instance->driver_data; + + if (!capable(CAP_NET_ADMIN)) + return -EACCES; + + switch (instance->card_info[CXINF_LINE_STARTABLE]) { + case 0: /* ADSL running */ + if (count != 3 + || strncmp(buf, "no", strlen("no")) + || strncmp(buf, "no\n", strlen("no\n"))) + return 0; + + ret = cxacru_cm(instance, CM_REQUEST_CHIP_ADSL_LINE_STOP, NULL, 0, NULL, 0); + if (ret < 0) { + atm_err(usbatm_instance, "cxacru_sysfs_store_atm_running:" + " CHIP_ADSL_LINE_STOP returned %d\n", ret); + return ret; + } + // TODO: poll twice more then stop + return strlen(buf); + case 1: /* ADSL not running */ + if (count != 4 + || strncmp(buf, "yes", strlen("yes")) + || strncmp(buf, "yes\n", strlen("yes\n"))) + return 0; + + ret = cxacru_cm(instance, CM_REQUEST_CHIP_ADSL_LINE_START, NULL, 0, NULL, 0); + if (ret &
Re: [PATCH] cxacru: Export detailed device info through sysfs. (updated, card_info array one element too large)
When the device is polled for status there is a lot of useful status information available that is ignored. This patch stores the device info array when the status is polled and adds sysfs files to the usb device to allow userspace to query it. Since the device updates its status internally once a second the poll time is changed to this, and round_jiffies_relative is used to avoid waking the cpu unnecessarily. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/cxacru.c | 181 -- 1 files changed, 176 insertions(+), 5 deletions(-) diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index 71e19ae..c8b69bf 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -34,14 +34,14 @@ #include #include #include #include -#include /* FIXME: linux/firmware.h should include it itself */ +#include #include #include #include "usbatm.h" -#define DRIVER_AUTHOR "Roman Kagan, David Woodhouse, Duncan Sands" -#define DRIVER_VERSION "0.2" +#define DRIVER_AUTHOR "Roman Kagan, David Woodhouse, Duncan Sands, Simon Arlott" +#define DRIVER_VERSION "0.3" #define DRIVER_DESC"Conexant AccessRunner ADSL USB modem driver" static const char cxacru_driver_name[] = "cxacru"; @@ -64,7 +64,7 @@ #define BR_STACK_ADDR 0x00187f10 #define SDRAM_ENA 0x1 #define CMD_TIMEOUT2000/* msecs */ -#define POLL_INTERVAL 5000/* msecs */ +#define POLL_INTERVAL 1 /* secs */ /* commands for interaction with the modem through the control channel before * firmware is loaded */ @@ -159,6 +159,7 @@ struct cxacru_data { int line_status; struct delayed_work poll_work; + u32 card_info[CXINF_MAX]; /* contol handles */ struct mutex cm_serialize; @@ -170,6 +171,151 @@ struct cxacru_data { struct completion snd_done; }; +/* Card info exported through sysfs */ +#define CXACRU__ATTR_INIT(_name) \ +static DEVICE_ATTR(_name, S_IRUGO, cxacru_sysfs_show_##_name, NULL) + +#define CXACRU_ATTR_INIT(_value, _type, _name) \ +static ssize_t cxacru_sysfs_show_##_name(struct device *dev, \ + struct device_attribute *attr, char *buf) \ +{ \ + struct usb_interface *intf = to_usb_interface(dev); \ + struct usbatm_data *usbatm_instance = usb_get_intfdata(intf); \ + struct cxacru_data *instance = usbatm_instance->driver_data; \ + return cxacru_sysfs_showattr_##_type(instance->card_info[_value], buf); \ +} \ +CXACRU__ATTR_INIT(_name) + +#define CXACRU_ATTR_CREATE(_v, _t, _name) CXACRU_DEVICE_CREATE_FILE(_name) +#define CXACRU__ATTR_CREATE(_name)CXACRU_DEVICE_CREATE_FILE(_name) + +#define CXACRU_ATTR_REMOVE(_v, _t, _name) CXACRU_DEVICE_REMOVE_FILE(_name) +#define CXACRU__ATTR_REMOVE(_name)CXACRU_DEVICE_REMOVE_FILE(_name) + +static ssize_t cxacru_sysfs_showattr_u32(u32 value, char *buf) +{ + return snprintf(buf, PAGE_SIZE, "%u\n", value); +} + +static ssize_t cxacru_sysfs_showattr_s8(s8 value, char *buf) +{ + return snprintf(buf, PAGE_SIZE, "%d\n", value); +} + +static ssize_t cxacru_sysfs_showattr_dB(s16 value, char *buf) +{ + if (unlikely(value < 0)) { + return snprintf(buf, PAGE_SIZE, "%d.%02u\n", + value / 100, -value % 100); + } else { + return snprintf(buf, PAGE_SIZE, "%d.%02u\n", + value / 100, value % 100); + } +} + +static ssize_t cxacru_sysfs_showattr_bool(u32 value, char *buf) +{ + switch (value) { + case 0: return snprintf(buf, PAGE_SIZE, "no\n"); + case 1: return snprintf(buf, PAGE_SIZE, "yes\n"); + default: return 0; + } +} + +static ssize_t cxacru_sysfs_showattr_LINK(u32 value, char *buf) +{ + switch (value) { + case 1: return snprintf(buf, PAGE_SIZE, "not connected\n"); + case 2: return snprintf(buf, PAGE_SIZE, "connected\n"); + case 3: return snprintf(buf, PAGE_SIZE, "lost\n"); + default: return snprintf(buf, PAGE_SIZE, "unknown (%u)\n", value); + } +} + +static ssize_t cxacru_sysfs_showattr_LINE(u32 value, char *buf) +{ + switch (value) { + case 0: return snprintf(buf, PAGE_SIZE, "down\n"); + case 1: return snprintf(buf, PAGE_SIZE, "attempting to activate\n"); + case 2: return snprintf(buf, PAGE_SIZE, "training\n"); + case 3: return snprintf(buf, PAGE_SIZE, "channel analysis\n"); + case 4: return snprintf(buf, PAGE_SIZE, "exchange\n"); + case 5: return snprintf(buf, PAGE_SIZE, "up\n"); + case 6: return snprintf(buf, PAGE_SIZE, "waiting\n"); + case 7: return snprintf(buf, PAGE_SIZE, "initialising\
[PATCH] usbatm: Create sysfs link "device" from atm class device to usb interface.
There is currently no path from the ATM device in /sys to the USB device's interface that the driver is using; this patch creates a "device" symlink. It is then possible to get to the cxacru ADSL statistics (http://lkml.org/lkml/2007/2/23/328): /sys/class/atm/cxacru0/device $ ls *_rate *_margin *_attenuation downstream_attenuation downstream_snr_margin upstream_rate downstream_rate upstream_attenuation upstream_snr_margin If this link is not appropriate I'd have to create device files in /sys/class/atm/cxacru0 instead - which seems less appropriate since the ADSL statistics are for the USB device not ATM (which is running over the ADSL). Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/usbatm.c | 12 +++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index d91ed11..d0f1976 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -969,6 +969,12 @@ static int usbatm_atm_init(struct usbatm /* temp init ATM device, set to 128kbit */ atm_dev->link_rate = 128 * 1000 / 424; + ret = sysfs_create_link(&atm_dev->class_dev.kobj, &instance->usb_intf->dev.kobj, "device"); + if (ret) { + atm_err(instance, "%s: sysfs_create_link failed: %d\n", __func__, ret); + goto fail_sysfs; + } + if (instance->driver->atm_start && ((ret = instance->driver->atm_start(instance, atm_dev)) < 0)) { atm_err(instance, "%s: atm_start failed: %d!\n", __func__, ret); goto fail; @@ -987,6 +993,8 @@ static int usbatm_atm_init(struct usbatm return 0; fail: + sysfs_remove_link(&atm_dev->class_dev.kobj, "device"); + fail_sysfs: instance->atm_dev = NULL; atm_dev_deregister(atm_dev); /* usbatm_atm_dev_close will eventually be called */ return ret; @@ -1319,8 +1327,10 @@ void usbatm_usb_disconnect(struct usb_in kfree(instance->cell_buf); /* ATM finalize */ - if (instance->atm_dev) + if (instance->atm_dev) { + sysfs_remove_link(&instance->atm_dev->class_dev.kobj, "device"); atm_dev_deregister(instance->atm_dev); + } usbatm_put_instance(instance); /* taken in usbatm_usb_probe */ } -- 1.4.3.1 -- Simon Arlott signature.asc Description: OpenPGP digital signature
round_jiffies and load average
I've modified the driver of an USB device (cxacru) to schedule the next poll for status every 1s using round_jiffies_relative instead of just waiting 1s since the last poll was completed. This process takes on average 11ms to complete and while it is waiting for a response it's considered running. The load average is calculated every 5 seconds equivalent to round_jiffies, so I have a problem with the load average always tending towards 1.00: 14:26:19 up 6 days, 14:45, 5 users, load average: 1.10, 1.04, 1.02 14:27:19 up 6 days, 14:46, 5 users, load average: 1.03, 1.03, 1.01 14:28:19 up 6 days, 14:47, 5 users, load average: 0.95, 1.01, 1.00 14:29:19 up 6 days, 14:48, 5 users, load average: 0.90, 0.97, 0.99 14:30:19 up 6 days, 14:49, 5 users, load average: 0.93, 0.96, 0.98 14:31:19 up 6 days, 14:50, 5 users, load average: 0.90, 0.94, 0.97 14:32:20 up 6 days, 14:51, 5 users, load average: 0.96, 0.95, 0.97 14:33:20 up 6 days, 14:52, 5 users, load average: 0.98, 0.95, 0.97 14:34:20 up 6 days, 14:53, 5 users, load average: 1.09, 0.99, 0.98 14:35:20 up 6 days, 14:54, 5 users, load average: 1.03, 0.99, 0.98 14:36:20 up 6 days, 14:55, 5 users, load average: 1.01, 0.99, 0.98 14:37:20 up 6 days, 14:56, 5 users, load average: 1.00, 0.99, 0.98 14:38:21 up 6 days, 14:57, 5 users, load average: 1.22, 1.05, 1.00 14:39:21 up 6 days, 14:58, 5 users, load average: 1.08, 1.04, 1.00 14:40:21 up 6 days, 14:59, 5 users, load average: 1.03, 1.03, 1.00 14:41:21 up 6 days, 15:00, 5 users, load average: 0.95, 1.01, 0.99 14:42:21 up 6 days, 15:01, 5 users, load average: 0.90, 0.97, 0.98 14:43:21 up 6 days, 15:02, 5 users, load average: 0.99, 0.99, 0.99 14:44:22 up 6 days, 15:03, 5 users, load average: 0.86, 0.94, 0.97 14:45:22 up 6 days, 15:04, 5 users, load average: 0.97, 0.95, 0.97 14:46:22 up 6 days, 15:05, 5 users, load average: 1.08, 0.99, 0.98 14:47:22 up 6 days, 15:06, 5 users, load average: 1.03, 0.99, 0.98 14:48:22 up 6 days, 15:07, 5 users, load average: 1.32, 1.07, 1.01 Perhaps the load average count could be run just before or in the middle of a second instead? -- Simon Arlott signature.asc Description: OpenPGP digital signature
[irq: Remove set_native_irq_info] !CONFIG_SMP regression
9f0a5ba5508143731dc63235de19659be20d26dc is first bad commit commit 9f0a5ba5508143731dc63235de19659be20d26dc Author: Eric W. Biederman <[EMAIL PROTECTED]> Date: Fri Feb 23 04:13:55 2007 -0700 [PATCH] irq: Remove set_native_irq_info This patch replaces all instances of "set_native_irq_info(irq, mask)" with "irq_desc[irq].affinity = mask". The latter form is clearer uses fewer abstractions, and makes access to this field uniform accross different architectures. arch/i386/kernel/io_apic.c: In function `setup_IO_APIC_irqs': arch/i386/kernel/io_apic.c:1357: error: structure has no member named `affinity' arch/i386/kernel/io_apic.c: In function `io_apic_set_pci_routing': arch/i386/kernel/io_apic.c:2878: error: structure has no member named `affinity' The original version was an empty function if !CONFIG_SMP, struct irq_desc only has 'affinity' on SMP. -- Simon Arlott signature.asc Description: OpenPGP digital signature
Re: round_jiffies and load average
On 24/02/07 15:19, Simon Arlott wrote: > I've modified the driver of an USB device (cxacru) to schedule the next poll > for status every 1s using round_jiffies_relative instead of just waiting 1s > since the last poll was completed. This process takes on average 11ms to > complete and while it is waiting for a response it's considered running. > The load average is calculated every 5 seconds equivalent to round_jiffies, > so I have a problem with the load average always tending towards 1.00. > Perhaps the load average count could be run just before or in the middle of > a second instead? I've added some printks to show exactly what happens (see below). Since calc_load() appears to be run as often as possible, would it be ok to move it to run half a second out of step from rounded jiffies? Its count value is initialised to LOAD_FREQ so it would be easy to add HZ/2. Otherwise every process using round_jiffies to 1s (1.00), 2s (0.50), 3s (0.33), 4s (0.25), 5s (0.00 or 1.00) could affect the load average in a constant way. (Beyond 10s the effect is unlikely to be noticed). After a while of this (~3min): [ 192.147049] cxacru_poll_status(..), jiffies=4294832000 [ 192.151319] cxacru_poll_status(..), jiffies=4294832004, next=996 [ 192.463459] calc_load(27), count=-20, jiffies=4294832316 [ 192.463472] calc_load(27), count=4980, jiffies=4294832316 Jiffies wraps: [ 327.121469] cxacru_poll_status(..), jiffies=4294967000 [ 327.139428] cxacru_poll_status(..), jiffies=4294967018, next=1000 [ 327.437739] calc_load(27), count=-20, jiffies=20 [ 327.437750] calc_load(27), count=4980, jiffies=20 The next run occurs during cxacru_poll_status: [ 332.416288] cxacru_poll_status(..), jiffies=5000 [ 332.417312] calc_load(1), count=-1, jiffies=5001 [ 332.417322] calc_load(1), count=4999, jiffies=5001 [ 332.423382] cxacru_poll_status(..), jiffies=5007, next=993 This happens without fail until I reboot: [ 672.350970] cxacru_poll_status(..), jiffies=345000 [ 672.351913] calc_load(1), count=-1, jiffies=345001 [ 672.351926] calc_load(1), count=4999, jiffies=345001 [ 672.367737] cxacru_poll_status(..), jiffies=345016, next=984 It's interesting that calc_load() is run most of the time 19ms later (count=-20) than usual until jiffies wraps, then it runs on time or 1ms late (count=-2). Full log available on request (75K), HZ=1000 with NO_HZ. (diff below of cxacru.c based on http://lkml.org/lkml/2007/2/23/328) --- diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index c8b69bf..4717fa4 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -535,6 +535,7 @@ static void cxacru_poll_status(struct work_struct *work) struct atm_dev *atm_dev = usbatm->atm_dev; int ret; + printk(KERN_DEBUG "cxacru_poll_status(..), jiffies=%lu\n", jiffies); ret = cxacru_cm_get_array(instance, CM_REQUEST_CARD_INFO_GET, buf, CXINF_MAX); if (ret < 0) { atm_warn(usbatm, "poll status: error %d\n", ret); @@ -599,6 +600,8 @@ static void cxacru_poll_status(struct work_struct *work) reschedule: schedule_delayed_work(&instance->poll_work, round_jiffies_relative(msecs_to_jiffies(POLL_INTERVAL*1000))); + printk(KERN_DEBUG "cxacru_poll_status(..), jiffies=%lu, next=%lu\n", jiffies, + round_jiffies_relative(msecs_to_jiffies(POLL_INTERVAL*1000))); } static int cxacru_fw(struct usb_device *usb_dev, enum cxacru_fw_request fw, diff --git a/kernel/timer.c b/kernel/timer.c index cb1b86a..9c2b816 100644 --- a/kernel/timer.c +++ b/kernel/timer.c @@ -1230,12 +1230,14 @@ static inline void calc_load(unsigned long ticks) count -= ticks; if (unlikely(count < 0)) { active_tasks = count_active_tasks(); + printk(KERN_DEBUG "calc_load(%lu), count=%d, jiffies=%lu\n", ticks, count, jiffies); do { CALC_LOAD(avenrun[0], EXP_1, active_tasks); CALC_LOAD(avenrun[1], EXP_5, active_tasks); CALC_LOAD(avenrun[2], EXP_15, active_tasks); count += LOAD_FREQ; } while (count < 0); + printk(KERN_DEBUG "calc_load(%lu), count=%d, jiffies=%lu\n", ticks, count, jiffies); } } -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 2/3] cxacru: Poll for device status more frequently.
On 31/01/07 18:15, Duncan Sands wrote: >> I've had it polling every 200ms on a dual ppro200 since november, >> and it has never failed to poll the status. > > Great, that's certainly better than the speedtouch ;) > I can't help feeling that polling twice a second is overkill. > How about changing it to poll every 5 seconds if the line is > up, and ten times as fast (as in this patch) if the line is > down? Also, what is the point of polling fast? Does it matter > if you miss some down-try_to_activate transitions? It needs to be at most 2 seconds while down or it's going to miss some of the state changes, why bother to output all the types of state if you're going to ignore some of them? As for while it's up, polling more often has a negligible effect on performance (still polling every 200ms here). If you change the timing for different states, you should know that it won't go into the down state on a retrain so ~up should enable faster polling. -- Simon Arlott signature.asc Description: OpenPGP digital signature
Re: [PATCH 3/3] cxacru: Store all device status information and report it when atm_proc_read is called.
On 01/02/07 09:15, Duncan Sands wrote: > On Thursday 1 February 2007 00:39:14 you wrote: >> On Tue, 30 Jan 2007 21:30:29 + >> Simon Arlott <[EMAIL PROTECTED]> wrote: >> >>> +static int cxacru_proc_read(struct usbatm_data *usbatm_instance, >>> + struct atm_dev *atm_dev, loff_t * pos, char *page) >>> +{ >>> + struct cxacru_data *instance = usbatm_instance->driver_data; >>> + u32 *cxinf = instance->cxinf_status; >>> + int left = *pos; >>> + >>> + if (!left--) >>> + return sprintf(page, "# %s\n", usbatm_instance->description); >>> + >>> + if (!left--) { >>> + if (cxinf[CXINF_LINE_STATUS] == 5) { >>> + return sprintf(page, "# UP %u/%u\n", >>> + cxinf[CXINF_DOWNSTREAM_RATE], >>> + cxinf[CXINF_UPSTREAM_RATE]); >>> + } else { >>> + return sprintf(page, "# DOWN\n"); >>> + } >>> + } >> hm, how well-tested was this proc interface? The pread() and lseek() >> behaviour might be strange. >> >> I guess as long as it doesn't oops, hang or anything like that then it'll >> be OK. Anyone who does anything apart from a single big-fat-read from a >> procfile has a good chance of getting into trouble :( Well, several reads of at least 172B... but that scenario works without any problems. > All the ATM drivers seem to do it like this. That doesn't mean they are > right of course! But I never saw anyone complain on the ATM mailing list. I just copied it from usbatm; it looks like this could be done using seq_file instead. > On the other hand, why does Simon want this? If he has written a user space > tool that extracts bits from the proc file (eg: to tell users what's going > on) then he could run into trouble, depending on how he implements it. No special user space tool, I just want other people to be able to get the same useful line information from cxacru that most ADSL driver have. (I do have a small "cxacru-watch" program which execs "cmd.up" etc. on status changes, but that is just sent printks via syslog-ng). It looks like the weird proc interface prevents my intention to allow ". /proc/net/atm/cxacru\:0" to work and set $LINE_STATUS etc., at least with bash: open("/proc/net/atm/cxacru:0", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 read(3, "", 0) = 0 close(3)= 0 Does anyone have any thoughts on the output format? The standard usbatm output isn't going to be compatible with the above if a common MAC/AAL5 header were used. When I have the time and can acquire another conexant usb modem for testing I'll fix the usbatm /proc interfaces. It would be also good if the module could reliably be reloaded - most (but not all) of the time it fails to initialise the device again. There's still an issue with khubd going into a loop if the firmware doesn't exist or if the device is unplugged. -- Simon Arlott signature.asc Description: OpenPGP digital signature
[PATCH] Make VMSPLIT options less ambiguous
This changes VMSPLIT_2G to really mean 2G, adding VMSPLIT_2G_OPT for the 1920/2176 split. It also prevents either _OPT setting being used when PAE is enabled (http://lkml.org/lkml/2006/12/1/44 - there doesn't appear to be any patches/commits which allow non-1GB boundary VMSPLIT with PAE yet). The existing !HIGHMEM doesn't make sense, VMSPLIT_3G_OPT may be desireable for a kernel built for multiple systems some of which may only have 1GB. This will require anyone using VMSPLIT_2G to change to VMSPLIT_2G_OPT to get the same effect, but the option was badly named when it was added. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 0dfee81..e57922b 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig @@ -539,10 +539,13 @@ choice config VMSPLIT_3G bool "3G/1G user/kernel split" config VMSPLIT_3G_OPT - depends on !HIGHMEM + depends on !X86_PAE bool "3G/1G user/kernel split (for full 1G low memory)" config VMSPLIT_2G bool "2G/2G user/kernel split" + config VMSPLIT_2G_OPT + depends on !X86_PAE + bool "2G/2G user/kernel split (for full 2G low memory)" config VMSPLIT_1G bool "1G/3G user/kernel split" endchoice @@ -550,7 +553,8 @@ endchoice config PAGE_OFFSET hex default 0xB000 if VMSPLIT_3G_OPT - default 0x7800 if VMSPLIT_2G + default 0x8000 if VMSPLIT_2G + default 0x7800 if VMSPLIT_2G_OPT default 0x4000 if VMSPLIT_1G default 0xC000 -- Simon Arlott signature.asc Description: OpenPGP digital signature
Re: Which CPU for VIA C7/Esther?
On 12/02/07 20:16, Dave Jones wrote: > On Mon, Feb 12, 2007 at 02:14:41PM -0500, Kyle McMartin wrote: > > On Mon, Feb 12, 2007 at 06:37:38PM +0100, Mark de Vries wrote: > > > I've been googeling for about an hour now and can't find an answer to: > > > What type of CPU should I select when compiling a recent 2.6 kernel if I > > > have a VIA Esther CPU? > > > > > stepping: 9 > > > > config MVIAC3_2 > > bool "VIA C3-2 (Nehemiah)" > > help > > Select this for a VIA C3 "Nehemiah". Selecting this enables usage > > of SSE and tells gcc to treat the CPU as a 686. > > Note, this kernel will not boot on older (pre model 9) C3s. > > > > Is the one you want, I believe. > > The C7 doesn't seem to care much which you optimise it for. > Any of the 686 options should work just fine, but MVIAC3_2 is no > worse than any of the others. > MVIAC3_2 doesn't enable X86_GOOD_APIC, try M686 (Pentium-Pro) - but that won't enable MMX and SSE (via -march=c3-2). These CPUs support SSE2 too... there should probably be an option for C7 that passes 686/mmx/sse/sse2 to gcc. (The c3-2 option could even cause gcc to alter code for the C3-2 that's not necessary for the C7, but I've not checked what else gcc does with -march=c3-2). Also, for the C7 you'll want CRYPTO_DEV_PADLOCK_* (Hardware Crypto Devices, Support for VIA PadLock ACE) and HW_RANDOM_VIA (VIA HW Random Number Generator support). -- Simon Arlott signature.asc Description: OpenPGP digital signature
[PATCH] Add an option for the VIA C7 which sets appropriate L1 cache
The VIA C7 is a 686 (with TSC) that supports MMX, SSE and SSE2, it also has a cache line length of 64 according to http://www.digit-life.com/articles2/cpu/rmma-via-c7.html. This patch sets gcc to -march=686 and selects the correct cache shift. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/i386/Kconfig.cpu | 13 ++--- arch/i386/Makefile.cpu |1 + 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/arch/i386/Kconfig.cpu b/arch/i386/Kconfig.cpu index 2aecfba..194d8c2 100644 --- a/arch/i386/Kconfig.cpu +++ b/arch/i386/Kconfig.cpu @@ -43,6 +43,7 @@ config M386 - "Geode GX/LX" For AMD Geode GX and LX processors. - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. - "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above). + - "VIA C7" for VIA C7. If you don't know what to do, choose "386". @@ -203,6 +204,12 @@ config MVIAC3_2 of SSE and tells gcc to treat the CPU as a 686. Note, this kernel will not boot on older (pre model 9) C3s. +config MVIAC7 + bool "VIA C7" + help + Select this for a VIA C7. Selecting this uses the correct cache + shift and tells gcc to treat the CPU as a 686. + endchoice config X86_GENERIC @@ -236,7 +243,7 @@ config X86_L1_CACHE_SHIFT default "7" if MPENTIUM4 || X86_GENERIC default "4" if X86_ELAN || M486 || M386 || MGEODEGX1 default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX - default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 + default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MVIAC7 config RWSEM_GENERIC_SPINLOCK bool @@ -302,7 +309,7 @@ config X86_ALIGNMENT_16 config X86_GOOD_APIC bool - depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8 || MEFFICEON || MCORE2 + depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8 || MEFFICEON || MCORE2 || MVIAC7 default y config X86_INTEL_USERCOPY @@ -327,5 +334,5 @@ config X86_OOSTORE config X86_TSC bool - depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ + depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ default y diff --git a/arch/i386/Makefile.cpu b/arch/i386/Makefile.cpu index a32c031..e0ada4e 100644 --- a/arch/i386/Makefile.cpu +++ b/arch/i386/Makefile.cpu @@ -32,6 +32,7 @@ cflags-$(CONFIG_MWINCHIP2)+= $(call cc- cflags-$(CONFIG_MWINCHIP3D)+= $(call cc-option,-march=winchip2,-march=i586) cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686) +cflags-$(CONFIG_MVIAC7)+= -march=i686 cflags-$(CONFIG_MCORE2) += -march=i686 $(call cc-option,-mtune=core2,$(call cc-option,-mtune=generic,-mtune=i686)) # AMD Elan support -- 1.4.3.1 -- Simon Arlott signature.asc Description: OpenPGP digital signature
Re: [PATCH] Add an option for the VIA C7 which sets appropriate L1 cache
The VIA C7 is a 686 (with TSC) that supports MMX, SSE and SSE2, it also has a cache line length of 64 according to http://www.digit-life.com/articles2/cpu/rmma-via-c7.html. This patch sets gcc to -march=686 and selects the correct cache shift. This version adds it to include/asm-i386/module.h too so it will actually compile. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/i386/Kconfig.cpu | 13 ++--- arch/i386/Makefile.cpu|1 + arch/i386/defconfig |1 + arch/um/defconfig |1 + include/asm-i386/module.h |2 ++ 5 files changed, 15 insertions(+), 3 deletions(-) diff --git a/arch/i386/Kconfig.cpu b/arch/i386/Kconfig.cpu index 2aecfba..194d8c2 100644 --- a/arch/i386/Kconfig.cpu +++ b/arch/i386/Kconfig.cpu @@ -43,6 +43,7 @@ config M386 - "Geode GX/LX" For AMD Geode GX and LX processors. - "CyrixIII/VIA C3" for VIA Cyrix III or VIA C3. - "VIA C3-2" for VIA C3-2 "Nehemiah" (model 9 and above). + - "VIA C7" for VIA C7. If you don't know what to do, choose "386". @@ -203,6 +204,12 @@ config MVIAC3_2 of SSE and tells gcc to treat the CPU as a 686. Note, this kernel will not boot on older (pre model 9) C3s. +config MVIAC7 + bool "VIA C7" + help + Select this for a VIA C7. Selecting this uses the correct cache + shift and tells gcc to treat the CPU as a 686. + endchoice config X86_GENERIC @@ -236,7 +243,7 @@ config X86_L1_CACHE_SHIFT default "7" if MPENTIUM4 || X86_GENERIC default "4" if X86_ELAN || M486 || M386 || MGEODEGX1 default "5" if MWINCHIP3D || MWINCHIP2 || MWINCHIPC6 || MCRUSOE || MEFFICEON || MCYRIXIII || MK6 || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || M586 || MVIAC3_2 || MGEODE_LX - default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 + default "6" if MK7 || MK8 || MPENTIUMM || MCORE2 || MVIAC7 config RWSEM_GENERIC_SPINLOCK bool @@ -302,7 +309,7 @@ config X86_ALIGNMENT_16 config X86_GOOD_APIC bool - depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8 || MEFFICEON || MCORE2 + depends on MK7 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || MK8 || MEFFICEON || MCORE2 || MVIAC7 default y config X86_INTEL_USERCOPY @@ -327,5 +334,5 @@ config X86_OOSTORE config X86_TSC bool - depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ + depends on (MWINCHIP3D || MWINCHIP2 || MCRUSOE || MEFFICEON || MCYRIXIII || MK7 || MK6 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || M586MMX || M586TSC || MK8 || MVIAC3_2 || MVIAC7 || MGEODEGX1 || MGEODE_LX || MCORE2) && !X86_NUMAQ default y diff --git a/arch/i386/Makefile.cpu b/arch/i386/Makefile.cpu index a32c031..e0ada4e 100644 --- a/arch/i386/Makefile.cpu +++ b/arch/i386/Makefile.cpu @@ -32,6 +32,7 @@ cflags-$(CONFIG_MWINCHIP2)+= $(call cc- cflags-$(CONFIG_MWINCHIP3D)+= $(call cc-option,-march=winchip2,-march=i586) cflags-$(CONFIG_MCYRIXIII) += $(call cc-option,-march=c3,-march=i486) $(align)-functions=0 $(align)-jumps=0 $(align)-loops=0 cflags-$(CONFIG_MVIAC3_2) += $(call cc-option,-march=c3-2,-march=i686) +cflags-$(CONFIG_MVIAC7)+= -march=i686 cflags-$(CONFIG_MCORE2)+= -march=i686 $(call cc-option,-mtune=core2,$(call cc-option,-mtune=generic,-mtune=i686)) # AMD Elan support diff --git a/arch/i386/defconfig b/arch/i386/defconfig index bb0c376..04001ab 100644 --- a/arch/i386/defconfig +++ b/arch/i386/defconfig @@ -137,6 +137,7 @@ # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set CONFIG_X86_GENERIC=y CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y diff --git a/arch/um/defconfig b/arch/um/defconfig index 780cc0a..f938fa8 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig @@ -41,6 +41,7 @@ # CONFIG_MGEODEGX1 is not set # CONFIG_MGEODE_LX is not set # CONFIG_MCYRIXIII is not set # CONFIG_MVIAC3_2 is not set +# CONFIG_MVIAC7 is not set # CONFIG_X86_GENERIC is not set CONFIG_X86_CMPXCHG=y CONFIG_X86_XADD=y diff --git a/include/asm-i386/module.h b/include/asm-i386/module.h index 02f8f54..7e5fda6 100644 --- a/include/asm-i386/module.h +++ b/include/asm-i386/module.h @@ -54,6 +54,8 @@ #elif defined CONFIG_MCYRIXIII #define MODULE_PROC_FAMILY "CYRIXIII " #elif defined CONFIG_MVIAC3_2 #define MODULE_PROC_FAMILY "VIAC3-2 " +#elif defined CONFIG_MVIAC7 +#define MODULE_PROC_FAMILY &quo
CAP_NET_BIND_SERVICE checking in inet_bind vs socket_bind
Why does inet_bind (instead of socket_bind) check that ports below 1024 require CAP_NET_BIND_SERVICE? Couldn't this check be moved to the dummy socket_bind so that the behaviour can be changed by a security module? --- diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index cf358c8..d75a2c5 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c @@ -431,9 +431,11 @@ int inet_bind(struct socket *sock, struc goto out; snum = ntohs(addr->sin_port); +#ifndef CONFIG_SECURITY_NETWORK err = -EACCES; if (snum && snum < PROT_SOCK && !capable(CAP_NET_BIND_SERVICE)) goto out; +#endif /* We keep a pair of addresses. rcv_saddr is the one * used by hash lookups, and saddr is used for transmit. diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 3585d8f..768989d 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c @@ -262,8 +262,10 @@ int inet6_bind(struct socket *sock, stru return -EINVAL; snum = ntohs(addr->sin6_port); +#ifndef CONFIG_SECURITY_NETWORK if (snum && snum < PROT_SOCK && !capable(CAP_NET_BIND_SERVICE)) return -EACCES; +#endif lock_sock(sk); diff --git a/net/sctp/socket.c b/net/sctp/socket.c diff --git a/security/dummy.c b/security/dummy.c index 558795b..1315b19 100644 --- a/security/dummy.c +++ b/security/dummy.c @@ -29,6 +29,8 @@ #include #include #include +#include + static int dummy_ptrace (struct task_struct *parent, struct task_struct *child) { return 0; @@ -718,6 +720,26 @@ static int dummy_socket_post_create (str static int dummy_socket_bind (struct socket *sock, struct sockaddr *address, int addrlen) { + switch (address->sa_family) { +#ifdef INET + case PF_INET: { + struct sockaddr_in *addr = (struct sockaddr_in *)address; + unsigned short snum; + snum = ntohs((addr->sin_port)); + if (snum && snum < PROT_SOCK && !capable(CAP_NET_BIND_SERVICE)) + return -EACCES; + break; + } + case PF_INET6: { + struct sockaddr_in6 *addr = (struct sockaddr_in6 *)address; + unsigned short snum; + snum = ntohs(addr->sin6_port); + if (snum && snum < PROT_SOCK && !capable(CAP_NET_BIND_SERVICE)) + return -EACCES; + break; + } +#endif + } return 0; } -- Simon Arlott signature.asc Description: OpenPGP digital signature
security_fixup_ops
Shouldn't security_fixup_ops be exported? Otherwise I have to include the kernel's security/dummy.c to use it and there's no other way to fix all the ops for a secondary module without copying a list of all the ops, which may change in future kernels, into the module's code. Unless of course including kernel source in modules is ok, because the module will need to have been compiled with the right version of struct security_operations anyway. --- /* http://redrum.lp0.eu/portac/portac.c */ #include <../security/dummy.c> struct security_operations portac_ops = { .register_security = portac_register_security, .unregister_security = portac_unregister_security, .socket_bind = portac_socket_bind }; struct security_operations primary_ops; struct security_operations *secondary_ops = NULL; int portac_register_security(const char *name, struct security_operations *ops) { struct security_operations tmp; ... /* Copy our current ops because they have * been fixed with dummy functions. * * Keep a reference to the secondary ops * for later use. */ primary_ops = portac_ops; secondary_ops = ops; /* Copy the secondary ops, override the * functions we use and call security_fixup_ops * to add missing dummy functions. * * Replace our current ops with these ops. */ tmp = *ops; tmp.socket_bind = portac_socket_bind; tmp.unregister_security = portac_unregister_security; security_fixup_ops(&tmp); /* from security/dummy.c */ portac_ops = tmp; ... } -- Simon Arlott signature.asc Description: OpenPGP digital signature
[PATCH 1/3] usbatm: Allow sub-drivers to handle calls to atm_proc_read.
usbatm only outputs basic information via the per-device /proc/net/atm/ file, this patch allows the device specific USB ATM drivers to replace the atm_proc_read function with their own. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/usbatm.c |3 +++ drivers/usb/atm/usbatm.h |3 +++ 2 files changed, 6 insertions(+), 0 deletions(-) diff --git a/drivers/usb/atm/usbatm.c b/drivers/usb/atm/usbatm.c index ec63b0e..d91ed11 100644 --- a/drivers/usb/atm/usbatm.c +++ b/drivers/usb/atm/usbatm.c @@ -761,6 +761,9 @@ static int usbatm_atm_proc_read(struct a return -ENODEV; } + if (instance->driver->proc_read != NULL) + return instance->driver->proc_read(instance, atm_dev, pos, page); + if (!left--) return sprintf(page, "%s\n", instance->description); diff --git a/drivers/usb/atm/usbatm.h b/drivers/usb/atm/usbatm.h index ff8551e..d3c0ee4 100644 --- a/drivers/usb/atm/usbatm.h +++ b/drivers/usb/atm/usbatm.h @@ -121,6 +121,9 @@ struct usbatm_driver { /* cleanup ATM device ... can sleep, but can't fail */ void (*atm_stop) (struct usbatm_data *, struct atm_dev *); + /* called when the proc file is read */ + int (*proc_read) (struct usbatm_data *, struct atm_dev *, loff_t * pos, char *page); + int bulk_in; /* bulk rx endpoint */ int isoc_in; /* isochronous rx endpoint */ int bulk_out; /* bulk tx endpoint */ -- 1.4.3.1 -- Simon Arlott (subscribed to lkml, don't CC) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 2/3] cxacru: Poll for device status more frequently.
The device is only polled for status every 5 seconds yet status updates occur as often as every second - when the line is down the status changes between "down" and "attempting to activate" every 2 seconds. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/cxacru.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index c1f97a3..a30cd9b 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -64,7 +64,7 @@ #define BR_STACK_ADDR 0x00187f10 #define SDRAM_ENA 0x1 #define CMD_TIMEOUT2000/* msecs */ -#define POLL_INTERVAL 5000/* msecs */ +#define POLL_INTERVAL 500 /* msecs */ /* commands for interaction with the modem through the control channel before * firmware is loaded */ -- 1.4.3.1 -- Simon Arlott (subscribed to lkml, don't CC) - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 3/3] cxacru: Store all device status information and report it when atm_proc_read is called.
There is much more (useful) line status information than is output through usbatm, this patch stores the status array and overrides atm_proc_read to output all of it. This change may affect users polling the /proc/net/atm/cxacru file for line up/down status, however better status information is already provided through INFO level printks. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- drivers/usb/atm/cxacru.c | 144 ++ 1 files changed, 144 insertions(+), 0 deletions(-) diff --git a/drivers/usb/atm/cxacru.c b/drivers/usb/atm/cxacru.c index 1fa0844..1049e34 100644 --- a/drivers/usb/atm/cxacru.c +++ b/drivers/usb/atm/cxacru.c @@ -159,6 +159,7 @@ struct cxacru_data { int line_status; struct delayed_work poll_work; + u32 cxinf_status[CXINF_MAX]; /* contol handles */ struct mutex cm_serialize; @@ -170,6 +171,146 @@ struct cxacru_data { struct completion snd_done; }; +static int cxacru_proc_read(struct usbatm_data *usbatm_instance, + struct atm_dev *atm_dev, loff_t * pos, char *page) +{ + struct cxacru_data *instance = usbatm_instance->driver_data; + u32 *cxinf = instance->cxinf_status; + int left = *pos; + + if (!left--) + return sprintf(page, "# %s\n", usbatm_instance->description); + + if (!left--) { + if (cxinf[CXINF_LINE_STATUS] == 5) { + return sprintf(page, "# UP %u/%u\n", + cxinf[CXINF_DOWNSTREAM_RATE], + cxinf[CXINF_UPSTREAM_RATE]); + } else { + return sprintf(page, "# DOWN\n"); + } + } + + if (!left--) + return sprintf(page, "MAC=%02x:%02x:%02x:%02x:%02x:%02x\n", + atm_dev->esi[0], atm_dev->esi[1], + atm_dev->esi[2], atm_dev->esi[3], + atm_dev->esi[4], atm_dev->esi[5]); + + if (!left--) + switch (cxinf[CXINF_LINK_STATUS]) { + case 1: return sprintf(page, "LINK_STATUS=\"not connected\"\n"); + case 2: return sprintf(page, "LINK_STATUS=\"connected\"\n"); + case 3: return sprintf(page, "LINK_STATUS=\"lost\"\n"); + default: + return sprintf(page, "LINK_STATUS=\"unknown (%u)\"\n", + cxinf[CXINF_LINK_STATUS]); + } + + if (!left--) + switch (cxinf[CXINF_LINE_STATUS]) { + case 0: return sprintf(page, "LINE_STATUS=\"down\"\n"); + case 1: return sprintf(page, "LINE_STATUS=\"attempting to activate\"\n"); + case 2: return sprintf(page, "LINE_STATUS=\"training\"\n"); + case 3: return sprintf(page, "LINE_STATUS=\"channel analysis\"\n"); + case 4: return sprintf(page, "LINE_STATUS=\"exchange\"\n"); + case 5: return sprintf(page, "LINE_STATUS=\"up\"\n"); + case 6: return sprintf(page, "LINE_STATUS=\"waiting\"\n"); + case 7: return sprintf(page, "LINE_STATUS=\"initialising\"\n"); + default: + return sprintf(page, "LINE_STATUS=\"unknown (%u)\"\n", + cxinf[CXINF_LINE_STATUS]); + } + + if (!left--) + return sprintf(page, "\n"); + + if (cxinf[CXINF_LINE_STATUS] == 5) /* up */ + if (!left--) + return sprintf(page, "DOWNSTREAM_RATE=%u\n", + cxinf[CXINF_DOWNSTREAM_RATE]); + if (!left--) + return sprintf(page, + "DOWNSTREAM_SNR_MARGIN=%d.%02u\n" + "DOWNSTREAM_ATTENUATION=%d.%02u\n" + "DOWNSTREAM_BITS_PER_FRAME=%u\n" + "DOWNSTREAM_CRC_ERRORS=%u\n" + "DOWNSTREAM_FEC_ERRORS=%u\n" + "DOWNSTREAM_HEC_ERRORS=%u\n" + "\n", + cxinf[CXINF_DOWNSTREAM_SNR_MARGIN] / 100, + cxinf[CXINF_DOWNSTREAM_SNR_MARGIN] % 100, + cxinf[CXINF_DOWNSTREAM_ATTENUATION] / 100, + cxinf[CXINF_DOWNSTREAM_ATTENUATION] % 100, + cxinf[CXINF_DOWNSTREAM_BITS_PER_FRAME], + cxinf[CXINF_DOWNSTREAM_CRC_ERRORS], + cxi
Re: [PATCH 2/3] cxacru: Poll for device status more frequently.
On 31/01/07 14:27, Duncan Sands wrote: >> The device is only polled for status every 5 seconds yet status updates >> occur as often as every second - when the line is down the status changes >> between "down" and "attempting to activate" every 2 seconds. > > How much overhead does polling involve? [A particularly problematic case > is when polling is failing - I've occasionally seen speedtouch modems > where polling fails every time (not sure why) and for some reason this > increases system load considerably, which is why the speedtch driver has > a dynamic polling interval]. If polling overhead is basically nothing, > then this change is OK with me. Otherwise the next simplest thing to do > is to have a short polling interval when the line is down, and a longer > one when the line is up. > I've had it polling every 200ms on a dual ppro200 since november, and it has never failed to poll the status. > Ciao, > > Duncan. -- Simon Arlott signature.asc Description: OpenPGP digital signature
Re: [PATCH 1/3] usbatm: Allow sub-drivers to handle calls to atm_proc_read.
On 31/01/07 14:48, Duncan Sands wrote: >> usbatm only outputs basic information via the per-device /proc/net/atm/ file, >> this patch allows the device specific USB ATM drivers to replace the >> atm_proc_read function with their own. > > I'm still meditating on this. The reason I didn't do this originally is > because of potential problems with modem disconnection and/or module > unloading (the cxacru module can be unloaded at any time - it's the usbatm > module that can't be unloaded when a connection is open - so you've got to > be careful that no-one can call into cxacru after or while it's being > destroyed). I think it will be OK as long as usbatm calls unbind after > shutting down the ATM layer (since otherwise your read method could be > called after you've freed your cxacru private data) which is not the case > right now, but should be easy to arrange. Horrible things may happen > if proc_read can still be running after atm_dev_deregister has returned, > but, if so, horrible things can already happen right now. I don't understand > why this is impossible; maybe it is possible. The worst that will happen > (given that none of the proc_read methods sleeps) is that freed memory will > be accessed and the contents spat out in the proc file (if proc_read sleeps, > that could result in trying to run code inside a destroyed module). > > Ciao, > > Duncan. Couldn't the cxacru instance pointer to the proc_read function be set to NULL before unloading? -- Simon Arlott signature.asc Description: OpenPGP digital signature
Re: Patch related with Fork Bobmbing Attack
On Tue, June 12, 2007 18:32, Jan Engelhardt wrote: > On Jun 12 2007 10:04, Roland Dreier wrote: >> > + /* >> > + * following code does not allow Non Root User to cross its >> > process >> > + * limit. it alerts administrator about fork bombing attack and >> > prevents >> > + * it. >> > + */ >> >if (atomic_read(&p->user->processes) >= >> > p->signal->rlim[RLIMIT_NPROC].rlim_cur) >> >if (!capable(CAP_SYS_ADMIN) && !capable(CAP_SYS_RESOURCE) && >> > - p->user != &root_user) >> > - >> > + p->user != &root_user) { >> > + if (printk_ratelimit()) >> > +printk(KERN_CRIT"User with uid %d is >> > crossing its process >> limit\n",p->user->uid); >> >goto bad_fork_free; >> > + } Why does this need to be KERN_CRIT? You can't assume that every time a process limit is reached that it's a fork bomb. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: /dev/loop* devices not appearing in /dev (at least since 2.6.22-rc3*)
On Fri, June 15, 2007 10:01, Jan Engelhardt wrote: > > On Jun 14 2007 14:52, markus reichelt wrote: >>* Matthew <[EMAIL PROTECTED]> wrote: >> >>> I read that now loop devices are being created on demand, which >>> obviously (still) not works >> >>yes, someone thought this was a good idea :( > > It *is* a good idea. MD works that way too. There's a patch around somewhere to create at least 8 devices, I don't know why it's not in Linus' tree yet... -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: BUG: at mm/slab.c:777 __find_general_cachep()
On 28/05/07 09:34, Tomas Carnecky wrote: Kernel 2.6.22-rc2-g47b97135, happened while running wine (32bit app) on my amd64 box... should I try -rc3? Yes, commit 6087b2dab2c914268b1a50882edbbad82bfefd29 probably fixed this. BUG: at mm/slab.c:777 __find_general_cachep() Call Trace: [] __kmalloc+0xa6/0xe0 [] compat_core_sys_select+0x109/0x290 [] compat_sys_select+0xe1/0x190 [] cstar_do_call+0x1b/0x65 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
"[IPV6]: Fix routing round-robin locking." breaks manual default route (bug 8349)
rt6_select(fn->leaf=b1b63060, oif=0) [ 779.705000] find_match rt->rt6i_gateway = 80fe ff183002 c225b0fe [ 779.705000] find_match m = 10, *mpri = -1 [ 779.705000] rt6_select() => b1b63060 [ 779.713000] rt6_select(fn->leaf=b1b63060, oif=0) [ 779.713000] find_match rt->rt6i_gateway = 80fe ff183002 c225b0fe [ 779.713000] find_match m = 10, *mpri = -1 [ 779.713000] rt6_select() => b1b63060 [ 779.714000] rt6_select(fn->leaf=b1b63ae0, oif=2) [ 779.714000] find_match rt->rt6i_gateway = [ 779.714000] find_match m = 9, *mpri = -1 [ 779.714000] rt6_select() => b1b63ae0 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: Patch Related with Fork Bombing Attack
On 13/07/07 13:39, Anand Jahagirdar wrote: > This patch Warns the administrator about the fork bombing attack > (whenever any user is crossing its process limit). I have used > +printk(KERN_WARNING "User with uid %u is > crossing the process limit\n",p->user->uid); I have mentioned this before when it was KERN_CRIT, why is this KERN_WARNING? It seems reasonable to have loglevel at KERN_WARNING, then it'd go to all consoles. Just because a fork bomb would trigger this doesn't mean you can assume it is one and raise its severity. If the limit is working correctly then there is no need to print anything... Also, users can arbitrarily lower their limit at any time and trigger this printk: $ ulimit -Su 0 $ uptime bash: fork: Resource temporarily unavailable If you really think this is needed then the message needs changing, because they haven't actually gone over the limit. I'm not sure how best to word it. What about the other limits? Max memory size and cpu time sound just as important as max user processes to me. -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/2] run scripts/Lindent on it to match Documentation/CodingStyle
On 15/07/07 09:52, Denis Cheng wrote: > Signed-off-by: Denis Cheng <[EMAIL PROTECTED]> > --- > drivers/net/wireless/wavelan.c | 806 > ++-- > 1 files changed, 369 insertions(+), 437 deletions(-) Do people ever check what Lindent does? > - } else if (base_addr > 0x100) { /* Check a single specified location. */ > + } else if (base_addr > 0x100) { /* Check a single specified location. */ What is Lit doing here?! It's changed "{/*" to "{/*"... > - } else { /* Scan all possible addresses of the WaveLAN hardware. */ > + } else {/* Scan all possible addresses of the WaveLAN > hardware. */ And again... with two tabs for maximum unreadability. That line is now 90 characters long instead of 75. > -"%s: <-wavelan_probe()\n", > -dev->name); > +"%s: <-wavelan_probe()\n", dev->name); There are spaces in that line after the tabs... > -out1: > + out1: NAK: A perfectly valid non-indented label is now indented by 6 spaces. > -out: > + out: And again. > -dev->name, (unsigned int) dev); > +dev->name, (unsigned int)dev); Those spaces after the tabs have been ignored... -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: arch/arm/
Spelling fixes in arch/arm/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/arm/common/dmabounce.c |2 +- arch/arm/common/gic.c |2 +- arch/arm/common/sharpsl_param.c |2 +- arch/arm/common/sharpsl_pm.c | 10 +- arch/arm/kernel/sys_arm.c |2 +- arch/arm/lib/bitops.h |2 +- arch/arm/mach-at91/board-carmeva.c|8 arch/arm/mach-h720x/cpu-h7202.c |4 ++-- arch/arm/mach-imx/cpufreq.c |2 +- arch/arm/mach-imx/dma.c |8 arch/arm/mach-iop13xx/pci.c |2 +- arch/arm/mach-ixp2000/enp2611.c |2 +- arch/arm/mach-ixp2000/ixdp2x00.c |4 ++-- arch/arm/mach-ixp2000/ixdp2x01.c |6 +++--- arch/arm/mach-ixp2000/pci.c |2 +- arch/arm/mach-ixp23xx/core.c |2 +- arch/arm/mach-ixp4xx/gtwx5715-setup.c |2 +- arch/arm/mach-lh7a40x/lcd-panel.h |6 +++--- arch/arm/mach-ns9xxx/time.c |2 +- arch/arm/mach-omap1/board-osk.c |2 +- arch/arm/mach-omap1/board-palmte.c|2 +- arch/arm/mach-omap1/pm.c |2 +- arch/arm/mach-omap2/clock.c |2 +- arch/arm/mach-omap2/clock.h |4 ++-- arch/arm/mach-pxa/corgi_lcd.c | 10 +- arch/arm/mach-pxa/corgi_ssp.c |2 +- arch/arm/mach-realview/localtimer.c |2 +- arch/arm/mach-s3c2440/mach-osiris.c |2 +- arch/arm/mach-sa1100/time.c |2 +- arch/arm/mm/alignment.c |2 +- arch/arm/mm/ioremap.c |2 +- arch/arm/mm/mmu.c |2 +- arch/arm/plat-iop/pci.c |2 +- arch/arm/plat-omap/common.c |2 +- arch/arm/plat-omap/dma.c |2 +- arch/arm/plat-omap/sram.c |6 +++--- arch/arm/plat-omap/usb.c |2 +- arch/arm/plat-s3c24xx/dma.c |2 +- arch/arm/plat-s3c24xx/pm.c|2 +- 39 files changed, 62 insertions(+), 62 deletions(-) diff --git a/arch/arm/common/dmabounce.c b/arch/arm/common/dmabounce.c index 6fbe772..b36b1e8 100644 --- a/arch/arm/common/dmabounce.c +++ b/arch/arm/common/dmabounce.c @@ -6,7 +6,7 @@ * copy data to/from buffers located outside the DMA region. This * only works for systems in which DMA memory is at the bottom of * RAM, the remainder of memory is at the top and the DMA memory - * can be marked as ZONE_DMA. Anything beyond that such as discontigous + * can be marked as ZONE_DMA. Anything beyond that such as discontiguous * DMA windows will require custom implementations that reserve memory * areas at early bootup. * diff --git a/arch/arm/common/gic.c b/arch/arm/common/gic.c index 4deece5..5da2ce7 100644 --- a/arch/arm/common/gic.c +++ b/arch/arm/common/gic.c @@ -72,7 +72,7 @@ static inline unsigned int gic_irq(unsigned int irq) * unmask it, in the same way we need to unmask an interrupt when * we first enable it. * - * The GIC has a seperate notion of "end of interrupt" to re-enable + * The GIC has a separate notion of "end of interrupt" to re-enable * an interrupt after handling, in order to support hardware * prioritisation. * diff --git a/arch/arm/common/sharpsl_param.c b/arch/arm/common/sharpsl_param.c index c94864c..aad4d94 100644 --- a/arch/arm/common/sharpsl_param.c +++ b/arch/arm/common/sharpsl_param.c @@ -20,7 +20,7 @@ * typically including LCD parameters are loaded by the bootloader at the * address PARAM_BASE. As the kernel will overwrite them, we need to store * them early in the boot process, then pass them to the appropriate drivers. - * Not all devices use all paramaters but the format is common to all. + * Not all devices use all parameters but the format is common to all. */ #ifdef CONFIG_ARCH_SA1100 #define PARAM_BASE 0xe8ffc000 diff --git a/arch/arm/common/sharpsl_pm.c b/arch/arm/common/sharpsl_pm.c index 5972df2..51f5417 100644 --- a/arch/arm/common/sharpsl_pm.c +++ b/arch/arm/common/sharpsl_pm.c @@ -291,7 +291,7 @@ static void sharpsl_chrg_full_timer(unsigned long data) } /* Charging Finished Interrupt (Not present on Corgi) */ -/* Can trigger at the same time as an AC staus change so +/* Can trigger at the same time as an AC status change so delay until after that has been processed */ irqreturn_t sharpsl_chrg_full_isr(int irq, void *dev_id) { @@ -635,7 +635,7 @@ static int sharpsl_fatal_check(void) static int sharpsl_off_charge_error(void) { - dev_err(sharpsl_pm.dev, "Offline Charger: Error occured.\n"); + dev_err(sharpsl_pm.dev, "Offline Charger: Error occurred.\n"); sharpsl_pm.machinfo->charge(0); sharpsl_pm_led(SHARPSL_LED_ERROR); sharpsl_pm.charge_mode = CHRG_ERROR; @@ -691,14 +691,14 @@ static int sharpsl_off_charge_battery(void) time = RCNR; while(1) { - /* Check if any wakeup event had o
[PATCH] spelling fixes: arch/alpha/
Spelling fixes in arch/alpha/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/alpha/kernel/err_marvel.c |2 +- arch/alpha/kernel/err_titan.c |2 +- arch/alpha/kernel/osf_sys.c|2 +- arch/alpha/kernel/smp.c|1 - arch/alpha/kernel/sys_alcor.c |2 +- arch/alpha/kernel/sys_sio.c|2 +- arch/alpha/lib/checksum.c |2 +- arch/alpha/lib/csum_partial_copy.c |2 +- arch/alpha/mm/init.c |2 +- arch/alpha/oprofile/op_impl.h |2 +- 10 files changed, 9 insertions(+), 10 deletions(-) diff --git a/arch/alpha/kernel/err_marvel.c b/arch/alpha/kernel/err_marvel.c index f2956ac..497877b 100644 --- a/arch/alpha/kernel/err_marvel.c +++ b/arch/alpha/kernel/err_marvel.c @@ -1082,7 +1082,7 @@ marvel_machine_check(u64 vector, u64 la_ptr) } /* -* A system event or error has occured, handle it here. +* A system event or error has occurred, handle it here. * * Any errors in the logout frame have already been cleared by the * PALcode, so just parse it. diff --git a/arch/alpha/kernel/err_titan.c b/arch/alpha/kernel/err_titan.c index 543d96d..6f38678 100644 --- a/arch/alpha/kernel/err_titan.c +++ b/arch/alpha/kernel/err_titan.c @@ -591,7 +591,7 @@ privateer_process_680_frame(struct el_common *mchk_header, int print) (struct el_PRIVATEER_envdata_mcheck *) ((unsigned long)mchk_header + mchk_header->sys_offset); - /* TODO - catagorize errors, for now, no error */ + /* TODO - categorize errors, for now, no error */ if (!print) return status; diff --git a/arch/alpha/kernel/osf_sys.c b/arch/alpha/kernel/osf_sys.c index ce85715..6413c5f 100644 --- a/arch/alpha/kernel/osf_sys.c +++ b/arch/alpha/kernel/osf_sys.c @@ -715,7 +715,7 @@ osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, /* * Alpha Architecture Handbook 4.7.7.3: * To be fully IEEE compiant, we must track the current IEEE -* exception state in software, because spurrious bits can be +* exception state in software, because spurious bits can be * set in the trap shadow of a software-complete insn. */ diff --git a/arch/alpha/kernel/smp.c b/arch/alpha/kernel/smp.c index 80cfb75..86023e6 100644 --- a/arch/alpha/kernel/smp.c +++ b/arch/alpha/kernel/smp.c @@ -438,7 +438,6 @@ setup_smp(void) ((char *)cpubase + i*hwrpb->processor_size); if ((cpu->flags & 0x1cc) == 0x1cc) { smp_num_probed++; - /* Assume here that "whami" == index */ cpu_set(i, cpu_present_map); cpu->pal_revision = boot_cpu_palrev; } diff --git a/arch/alpha/kernel/sys_alcor.c b/arch/alpha/kernel/sys_alcor.c index 49bedfb..d187d01 100644 --- a/arch/alpha/kernel/sys_alcor.c +++ b/arch/alpha/kernel/sys_alcor.c @@ -138,7 +138,7 @@ alcor_init_irq(void) for (i = 16; i < 48; ++i) { /* On Alcor, at least, lines 20..30 are not connected - and can generate spurrious interrupts if we turn them + and can generate spurious interrupts if we turn them on while IRQ probing. */ if (i >= 16+20 && i <= 16+30) continue; diff --git a/arch/alpha/kernel/sys_sio.c b/arch/alpha/kernel/sys_sio.c index 14b5a75..ee7b900 100644 --- a/arch/alpha/kernel/sys_sio.c +++ b/arch/alpha/kernel/sys_sio.c @@ -78,7 +78,7 @@ alphabook1_init_arch(void) * example, sound boards seem to like using IRQ 9. * * This is NOT how we should do it. PIRQ0-X should have - * their own IRQ's, the way intel uses the IO-APIC irq's. + * their own IRQs, the way intel uses the IO-APIC IRQs. */ static void __init diff --git a/arch/alpha/lib/checksum.c b/arch/alpha/lib/checksum.c index ab3761c..690b856 100644 --- a/arch/alpha/lib/checksum.c +++ b/arch/alpha/lib/checksum.c @@ -5,7 +5,7 @@ * in an architecture-specific manner due to speed.. * Comments in other versions indicate that the algorithms are from RFC1071 * - * accellerated versions (and 21264 assembly versions ) contributed by + * accelerated versions (and 21264 assembly versions ) contributed by * Rick Gorton <[EMAIL PROTECTED]> */ diff --git a/arch/alpha/lib/csum_partial_copy.c b/arch/alpha/lib/csum_partial_copy.c index 4ca75c7..40736da 100644 --- a/arch/alpha/lib/csum_partial_copy.c +++ b/arch/alpha/lib/csum_partial_copy.c @@ -2,7 +2,7 @@ * csum_partial_copy - do IP checksumming and copy * * (C) Copyright 1996 Linus Torvalds - * accellerated versions (and 21264 assembly versions ) contributed by + * accelerated versions (and 21264 assembly versions ) contributed b
[PATCH] spelling fixes: arch/arm26/
Spelling fixes in arch/arm26/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/arm26/kernel/irq.c |6 +++--- arch/arm26/kernel/process.c |2 +- arch/arm26/kernel/time.c|2 +- arch/arm26/lib/longlong.h |2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/arm26/kernel/irq.c b/arch/arm26/kernel/irq.c index d53382c..f2b5963 100644 --- a/arch/arm26/kernel/irq.c +++ b/arch/arm26/kernel/irq.c @@ -10,12 +10,12 @@ * published by the Free Software Foundation. * * This file contains the code used by various IRQ handling routines: - * asking for different IRQ's should be done through these routines + * asking for different IRQs should be done through these routines * instead of just grabbing them. Thus setups with different IRQ numbers * shouldn't result in any weird surprises, and installing new handlers * should be easier. * - * IRQ's are in fact implemented a bit like signal handlers for the kernel. + * IRQs are in fact implemented a bit like signal handlers for the kernel. * Naturally it's not a 1:1 relation, but there are similarities. */ #include @@ -324,7 +324,7 @@ do_level_IRQ(unsigned int irq, struct irqdesc *desc, struct pt_regs *regs) } /* - * do_IRQ handles all hardware IRQ's. Decoded IRQs should not + * do_IRQ handles all hardware IRQs. Decoded IRQs should not * come via this function. Instead, they should provide their * own 'handler' */ diff --git a/arch/arm26/kernel/process.c b/arch/arm26/kernel/process.c index dcd81e6..7539cfc 100644 --- a/arch/arm26/kernel/process.c +++ b/arch/arm26/kernel/process.c @@ -3,7 +3,7 @@ * * Copyright (C) 2003 Ian Molton - adapted for ARM26 * Copyright (C) 1996-2000 Russell King - Converted to ARM. - * Origional Copyright (C) 1995 Linus Torvalds + * Original Copyright (C) 1995 Linus Torvalds * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as diff --git a/arch/arm26/kernel/time.c b/arch/arm26/kernel/time.c index 0f1d57f..4cefc44 100644 --- a/arch/arm26/kernel/time.c +++ b/arch/arm26/kernel/time.c @@ -182,7 +182,7 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) #ifndef CONFIG_SMP update_process_times(user_mode(regs)); #endif -do_set_rtc(); //FIME - EVERY timer IRQ? +do_set_rtc(); //FIXME - EVERY timer IRQ? profile_tick(CPU_PROFILING, regs); return IRQ_HANDLED; //FIXME - is this right? } diff --git a/arch/arm26/lib/longlong.h b/arch/arm26/lib/longlong.h index 05ec1ab..9f59fbf 100644 --- a/arch/arm26/lib/longlong.h +++ b/arch/arm26/lib/longlong.h @@ -31,7 +31,7 @@ /* Define auxiliary asm macros. - 1) umul_ppmm(high_prod, low_prod, multipler, multiplicand) + 1) umul_ppmm(high_prod, low_prod, multiplier, multiplicand) multiplies two USItype integers MULTIPLER and MULTIPLICAND, and generates a two-part USItype product in HIGH_PROD and LOW_PROD. -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: arch/avr32/
Spelling fixes in arch/avr32/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/avr32/kernel/irq.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/avr32/kernel/irq.c b/arch/avr32/kernel/irq.c index fd31124..d83c6b9 100644 --- a/arch/avr32/kernel/irq.c +++ b/arch/avr32/kernel/irq.c @@ -9,12 +9,12 @@ * published by the Free Software Foundation. * * This file contains the code used by various IRQ handling routines: - * asking for different IRQ's should be done through these routines + * asking for different IRQs should be done through these routines * instead of just grabbing them. Thus setups with different IRQ numbers * shouldn't result in any weird surprises, and installing new handlers * should be easier. * - * IRQ's are in fact implemented a bit like signal handlers for the kernel. + * IRQs are in fact implemented a bit like signal handlers for the kernel. * Naturally it's not a 1:1 relation, but there are similarities. */ -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: arch/blackfin/
Spelling fixes in arch/blackfin/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/blackfin/kernel/irqchip.c |2 +- arch/blackfin/kernel/traps.c|2 +- arch/blackfin/mach-bf533/boards/cm_bf533.c |2 +- arch/blackfin/mach-bf533/boards/ezkit.c |2 +- arch/blackfin/mach-bf533/ints-priority.c|2 +- arch/blackfin/mach-bf537/boards/generic_board.c |2 +- arch/blackfin/mach-bf537/boards/pnav10.c|2 +- arch/blackfin/mach-bf537/boards/stamp.c |2 +- arch/blackfin/mach-bf537/ints-priority.c|2 +- arch/blackfin/mach-bf561/boards/cm_bf561.c |4 ++-- arch/blackfin/mach-bf561/ints-priority.c|2 +- arch/blackfin/mach-common/ints-priority-dc.c|2 +- arch/blackfin/mach-common/ints-priority-sc.c|2 +- arch/blackfin/mm/blackfin_sram.c|6 +++--- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index df5bf02..80996a1 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c @@ -91,7 +91,7 @@ int show_interrupts(struct seq_file *p, void *v) } /* - * do_IRQ handles all hardware IRQ's. Decoded IRQs should not + * do_IRQ handles all hardware IRQs. Decoded IRQs should not * come via this function. Instead, they should provide their * own 'handler' */ diff --git a/arch/blackfin/kernel/traps.c b/arch/blackfin/kernel/traps.c index 9556b73..5033315 100644 --- a/arch/blackfin/kernel/traps.c +++ b/arch/blackfin/kernel/traps.c @@ -549,7 +549,7 @@ void dump_bfin_regs(struct pt_regs *fp, void *retaddr) break; #ifndef CONFIG_DEBUG_HWERR /* If one of the last few instructions was a STI -* it is likily that the error occured awhile ago +* it is likely that the error occurred awhile ago * and we just noticed */ if (x >= 0x0040 && x <= 0x0047 && i <= 0) diff --git a/arch/blackfin/mach-bf533/boards/cm_bf533.c b/arch/blackfin/mach-bf533/boards/cm_bf533.c index 23a7f60..edd31ce 100644 --- a/arch/blackfin/mach-bf533/boards/cm_bf533.c +++ b/arch/blackfin/mach-bf533/boards/cm_bf533.c @@ -1,7 +1,7 @@ /* * File: arch/blackfin/mach-bf533/boards/cm_bf533.c * Based on: arch/blackfin/mach-bf533/boards/ezkit.c - * Author: Aidan Williams <[EMAIL PROTECTED]> Copright 2005 + * Author: Aidan Williams <[EMAIL PROTECTED]> Copyright 2005 * * Created: 2005 * Description: Board description file diff --git a/arch/blackfin/mach-bf533/boards/ezkit.c b/arch/blackfin/mach-bf533/boards/ezkit.c index 747298e..0b522d9 100644 --- a/arch/blackfin/mach-bf533/boards/ezkit.c +++ b/arch/blackfin/mach-bf533/boards/ezkit.c @@ -1,6 +1,6 @@ /* * File: arch/blackfin/mach-bf533/ezkit.c - * Based on: Orginal Work + * Based on: Original Work * Author: Aidan Williams <[EMAIL PROTECTED]> * * Created: 2005 diff --git a/arch/blackfin/mach-bf533/ints-priority.c b/arch/blackfin/mach-bf533/ints-priority.c index 36a6933..a3e1789 100644 --- a/arch/blackfin/mach-bf533/ints-priority.c +++ b/arch/blackfin/mach-bf533/ints-priority.c @@ -4,7 +4,7 @@ * Author: Michael Hennerich * * Created: ? - * Description: Set up the interupt priorities + * Description: Set up the interrupt priorities * * Modified: * Copyright 2004-2006 Analog Devices Inc. diff --git a/arch/blackfin/mach-bf537/boards/generic_board.c b/arch/blackfin/mach-bf537/boards/generic_board.c index 9019c0e..fd57e74 100644 --- a/arch/blackfin/mach-bf537/boards/generic_board.c +++ b/arch/blackfin/mach-bf537/boards/generic_board.c @@ -55,7 +55,7 @@ static struct resource bfin_pcmcia_cf_resources[] = { .end = 0x20312000, .flags = IORESOURCE_MEM, },{ - .start = 0x20311000, /* Attribute Memeory */ + .start = 0x20311000, /* Attribute Memory */ .end = 0x20311FFF, .flags = IORESOURCE_MEM, },{ diff --git a/arch/blackfin/mach-bf537/boards/pnav10.c b/arch/blackfin/mach-bf537/boards/pnav10.c index 40d3a1b..8aaf76d 100644 --- a/arch/blackfin/mach-bf537/boards/pnav10.c +++ b/arch/blackfin/mach-bf537/boards/pnav10.c @@ -59,7 +59,7 @@ static struct resource bfin_pcmcia_cf_resources[] = { .end = 0x20312000, .flags = IORESOURCE_MEM, },{ - .start = 0x20311000, /* Attribute Memeory */ + .start = 0x20311000, /* Attribute Memory */ .end = 0x20311FFF, .flags = IORESOURCE_MEM, },{ diff --git a/arch/blackfin/mach-bf537/boards/stamp.c b/arch/blackfin/mach-bf537/boards/stamp.c index ba2f875..3a29b4d 100644 --- a/arch/blackfin/mach-bf537/boards
[PATCH] spelling fixes: arch/cris/
Spelling fixes in arch/cris/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/cris/arch-v10/boot/compressed/misc.c |2 +- arch/cris/arch-v10/kernel/debugport.c |2 +- arch/cris/arch-v10/kernel/fasttimer.c |2 +- arch/cris/arch-v10/kernel/irq.c |2 +- arch/cris/arch-v10/kernel/kgdb.c |2 +- arch/cris/arch-v10/kernel/process.c |2 +- arch/cris/arch-v10/kernel/shadows.c |2 +- arch/cris/arch-v10/lib/string.c |2 +- arch/cris/arch-v10/lib/usercopy.c |6 +++--- arch/cris/arch-v32/boot/compressed/misc.c |6 +++--- arch/cris/arch-v32/drivers/axisflashmap.c |2 +- arch/cris/arch-v32/drivers/i2c.c |2 +- arch/cris/arch-v32/drivers/nandflash.c|2 +- arch/cris/arch-v32/drivers/pcf8563.c |2 +- arch/cris/arch-v32/kernel/fasttimer.c |2 +- arch/cris/arch-v32/kernel/irq.c |8 arch/cris/arch-v32/kernel/process.c |2 +- arch/cris/arch-v32/kernel/signal.c|4 ++-- arch/cris/arch-v32/kernel/smp.c |2 +- arch/cris/arch-v32/kernel/time.c |2 +- arch/cris/arch-v32/kernel/traps.c |2 +- arch/cris/arch-v32/lib/string.c |2 +- arch/cris/arch-v32/lib/usercopy.c |6 +++--- arch/cris/arch-v32/mm/tlb.c |6 +++--- arch/cris/kernel/irq.c|8 arch/cris/mm/fault.c |4 ++-- arch/cris/mm/init.c |2 +- arch/cris/mm/tlb.c|2 +- 28 files changed, 44 insertions(+), 44 deletions(-) diff --git a/arch/cris/arch-v10/boot/compressed/misc.c b/arch/cris/arch-v10/boot/compressed/misc.c index ffb8d21..e205d2e 100644 --- a/arch/cris/arch-v10/boot/compressed/misc.c +++ b/arch/cris/arch-v10/boot/compressed/misc.c @@ -8,7 +8,7 @@ * * malloc by Hannu Savolainen 1993 and Matthias Urlichs 1994 * puts by Nick Holloway 1993, better puts by Martin Mares 1995 - * adoptation for Linux/CRIS Axis Communications AB, 1999 + * adaptation for Linux/CRIS Axis Communications AB, 1999 * */ diff --git a/arch/cris/arch-v10/kernel/debugport.c b/arch/cris/arch-v10/kernel/debugport.c index 2b536ca..93679a4 100644 --- a/arch/cris/arch-v10/kernel/debugport.c +++ b/arch/cris/arch-v10/kernel/debugport.c @@ -83,7 +83,7 @@ * * Revision 1.4 2002/11/19 14:35:24 starvik * Changes from linux 2.4 - * Changed struct initializer syntax to the currently prefered notation + * Changed struct initializer syntax to the currently preferred notation * * Revision 1.3 2002/11/06 09:47:03 starvik * Modified for new interrupt macros diff --git a/arch/cris/arch-v10/kernel/fasttimer.c b/arch/cris/arch-v10/kernel/fasttimer.c index 8cbdf59..d3ea052 100644 --- a/arch/cris/arch-v10/kernel/fasttimer.c +++ b/arch/cris/arch-v10/kernel/fasttimer.c @@ -84,7 +84,7 @@ * with time based on jiffies and *R_TIMER0_DATA, uses a table * for fast conversion of timer value to microseconds. * (Much faster the standard do_gettimeofday() and we don't really - * wan't to use the true time - we wan't the "uptime" so timers don't screw up + * want to use the true time - we want the "uptime" so timers don't screw up * when we change the time. * TODO: Add efficient support for continuous timers as well. * diff --git a/arch/cris/arch-v10/kernel/irq.c b/arch/cris/arch-v10/kernel/irq.c index 96094cb..845c95f 100644 --- a/arch/cris/arch-v10/kernel/irq.c +++ b/arch/cris/arch-v10/kernel/irq.c @@ -169,7 +169,7 @@ init_IRQ(void) for (i = 0; i < 256; i++) etrax_irv->v[i] = weird_irq; - /* Initialize IRQ handler descriptiors. */ + /* Initialize IRQ handler descriptors. */ for(i = 2; i < NR_IRQS; i++) { irq_desc[i].chip = &crisv10_irq_type; set_int_vector(i, interrupt[i]); diff --git a/arch/cris/arch-v10/kernel/kgdb.c b/arch/cris/arch-v10/kernel/kgdb.c index 07628a1..21b17f2 100644 --- a/arch/cris/arch-v10/kernel/kgdb.c +++ b/arch/cris/arch-v10/kernel/kgdb.c @@ -959,7 +959,7 @@ stub_is_stopped(int sigval) /* Send register contents. We probably only need to send the * PC, frame pointer and stack pointer here. Other registers will be - * explicitely asked for. But for now, send all. + * explicitly asked for. But for now, send all. */ for (regno = R0; regno <= USP; regno++) { diff --git a/arch/cris/arch-v10/kernel/process.c b/arch/cris/arch-v10/kernel/process.c index b6831ce..1a3760c 100644 --- a/arch/cris/arch-v10/kernel/process.c +++ b/arch/cris/arch-v10/kernel/process.c @@ -64,7 +64,7 @@ void hard_reset_now (void) #if defined(CONFIG_ETRAX_WATCHDOG) && !defined(CONFIG_SVINTO_SIM) cause_of_death = 0xbedead; #else - /* Since we dont plan to keep on reseting the watchdog, + /* Since we dont plan to keep on resetting the watchdog, the key can
[PATCH] spelling fixes: arch/frv/
Spelling fixes in arch/frv/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/frv/kernel/irq.c |2 +- arch/frv/kernel/semaphore.c |2 +- arch/frv/kernel/time.c |4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/frv/kernel/irq.c b/arch/frv/kernel/irq.c index c7e59dc..206eba5 100644 --- a/arch/frv/kernel/irq.c +++ b/arch/frv/kernel/irq.c @@ -134,7 +134,7 @@ static struct irq_chip frv_cpu_pic = { }; /* - * handles all normal device IRQ's + * handles all normal device IRQs * - registers are referred to by the __frame variable (GR28) * - IRQ distribution is complicated in this arch because of the many PICs, the * way they work and the way they cascade diff --git a/arch/frv/kernel/semaphore.c b/arch/frv/kernel/semaphore.c index 8e182ce..7ee3a14 100644 --- a/arch/frv/kernel/semaphore.c +++ b/arch/frv/kernel/semaphore.c @@ -139,7 +139,7 @@ void __up(struct semaphore *sem) waiter = list_entry(sem->wait_list.next, struct sem_waiter, list); /* We must be careful not to touch 'waiter' after we set ->task = NULL. -* It is an allocated on the waiter's stack and may become invalid at +* It is allocated on the waiter's stack and may become invalid at * any time after that point (due to a wakeup from another source). */ list_del_init(&waiter->list); diff --git a/arch/frv/kernel/time.c b/arch/frv/kernel/time.c index ed588d7..2923afa 100644 --- a/arch/frv/kernel/time.c +++ b/arch/frv/kernel/time.c @@ -63,7 +63,7 @@ static irqreturn_t timer_interrupt(int irq, void *dummy) /* * Here we are in the timer irq handler. We just have irqs locally * disabled but we don't know if the timer_bh is running on the other -* CPU. We need to avoid to SMP race with it. NOTE: we don' t need +* CPU. We need to avoid to SMP race with it. NOTE: we don't need * the irq version of write_lock because as just said we have irq * locally disabled. -arca */ @@ -123,7 +123,7 @@ void time_init(void) /* FIX by dqg : Set to zero for platforms that don't have tod */ /* without this time is undefined and can overflow time_t, causing */ - /* very stange errors */ + /* very strange errors */ year = 1980; mon = day = 1; hour = min = sec = 0; -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: arch/h8300/
Spelling fixes in arch/h8300/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/h8300/kernel/ints.c |2 +- arch/h8300/kernel/irq.c|2 +- arch/h8300/kernel/time.c |2 +- arch/h8300/kernel/traps.c |2 +- arch/h8300/platform/h8s/ints.c |2 +- arch/h8300/platform/h8s/ints_h8s.c |2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/h8300/kernel/ints.c b/arch/h8300/kernel/ints.c index 3e4f479..24269cd 100644 --- a/arch/h8300/kernel/ints.c +++ b/arch/h8300/kernel/ints.c @@ -144,7 +144,7 @@ int request_irq(unsigned int irq, if (use_kmalloc) irq_handle = kmalloc(sizeof(irq_handler_t), GFP_ATOMIC); else { - /* use bootmem allocater */ + /* use bootmem allocator */ irq_handle = (irq_handler_t *)alloc_bootmem(sizeof(irq_handler_t)); irq_handle = (irq_handler_t *)((unsigned long)irq_handle | 0x8000); } diff --git a/arch/h8300/kernel/irq.c b/arch/h8300/kernel/irq.c index 43d21e9..8dec4dd 100644 --- a/arch/h8300/kernel/irq.c +++ b/arch/h8300/kernel/irq.c @@ -68,7 +68,7 @@ static void h8300_shutdown_irq(unsigned int irq) } /* - * h8300 interrupt controler implementation + * h8300 interrupt controller implementation */ struct irq_chip h8300irq_chip = { .name = "H8300-INTC", diff --git a/arch/h8300/kernel/time.c b/arch/h8300/kernel/time.c index 3306382..e37c835 100644 --- a/arch/h8300/kernel/time.c +++ b/arch/h8300/kernel/time.c @@ -53,7 +53,7 @@ void time_init(void) /* FIX by dqg : Set to zero for platforms that don't have tod */ /* without this time is undefined and can overflow time_t, causing */ - /* very stange errors */ + /* very strange errors */ year = 1980; mon = day = 1; hour = min = sec = 0; diff --git a/arch/h8300/kernel/traps.c b/arch/h8300/kernel/traps.c index 300e327..ceb7fbe 100644 --- a/arch/h8300/kernel/traps.c +++ b/arch/h8300/kernel/traps.c @@ -5,7 +5,7 @@ * Cloned from Linux/m68k. * * No original Copyright holder listed, - * Probabily original (C) Roman Zippel (assigned DJD, 1999) + * Probable original (C) Roman Zippel (assigned DJD, 1999) * * Copyright 1999-2000 D. Jeff Dionne, <[EMAIL PROTECTED]> * diff --git a/arch/h8300/platform/h8s/ints.c b/arch/h8300/platform/h8s/ints.c index a71d6e2..551fd5f 100644 --- a/arch/h8300/platform/h8s/ints.c +++ b/arch/h8300/platform/h8s/ints.c @@ -179,7 +179,7 @@ int request_irq(unsigned int irq, if (use_kmalloc) irq_handle = kmalloc(sizeof(irq_handler_t), GFP_ATOMIC); else { - /* use bootmem allocater */ + /* use bootmem allocator */ irq_handle = (irq_handler_t *)alloc_bootmem(sizeof(irq_handler_t)); irq_handle = (irq_handler_t *)((unsigned long)irq_handle | 0x8000); } diff --git a/arch/h8300/platform/h8s/ints_h8s.c b/arch/h8300/platform/h8s/ints_h8s.c index 93395d2..faa8a45 100644 --- a/arch/h8300/platform/h8s/ints_h8s.c +++ b/arch/h8300/platform/h8s/ints_h8s.c @@ -63,7 +63,7 @@ static const struct irq_pins irq_assign_table1[16]={ {H8300_GPIO_P2,H8300_GPIO_B6},{H8300_GPIO_P2,H8300_GPIO_B7}, }; -/* IRQ to GPIO pinno transrate */ +/* IRQ to GPIO pin translation */ #define IRQ_GPIO_MAP(irqbit,irq,port,bit) \ do { \ if (*(volatile unsigned short *)ITSR & irqbit) { \ -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: arch/i386/
Spelling fixes in arch/i386/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/i386/boot/compressed/misc.c |4 ++-- arch/i386/kernel/acpi/boot.c |8 arch/i386/kernel/apic.c|4 ++-- arch/i386/kernel/apm.c |2 +- arch/i386/kernel/cpu/amd.c |2 +- arch/i386/kernel/cpu/centaur.c |4 ++-- arch/i386/kernel/cpu/common.c |2 +- arch/i386/kernel/cpu/cpufreq/cpufreq-nforce2.c |2 +- arch/i386/kernel/cpu/cpufreq/gx-suspmod.c |8 arch/i386/kernel/cpu/cpufreq/powernow-k8.c |2 +- arch/i386/kernel/cpu/cpufreq/powernow-k8.h |4 ++-- arch/i386/kernel/cpu/cyrix.c |2 +- arch/i386/kernel/cpu/mtrr/cyrix.c |4 ++-- arch/i386/kernel/cpu/mtrr/generic.c|2 +- arch/i386/kernel/cpu/mtrr/main.c |2 +- arch/i386/kernel/e820.c|2 +- arch/i386/kernel/hpet.c|2 +- arch/i386/kernel/i8253.c |2 +- arch/i386/kernel/io_apic.c |4 ++-- arch/i386/kernel/mpparse.c |2 +- arch/i386/kernel/ptrace.c |2 +- arch/i386/kernel/setup.c |2 +- arch/i386/kernel/signal.c |2 +- arch/i386/kernel/smp.c |4 ++-- arch/i386/kernel/smpboot.c |2 +- arch/i386/kernel/summit.c |2 +- arch/i386/kernel/tsc.c |2 +- arch/i386/mach-default/setup.c |2 +- arch/i386/mach-generic/default.c |2 +- arch/i386/mach-generic/probe.c |2 +- arch/i386/mach-voyager/voyager_smp.c | 12 ++-- arch/i386/mach-voyager/voyager_thread.c|2 +- arch/i386/mm/boot_ioremap.c|2 +- arch/i386/mm/discontig.c |2 +- arch/i386/mm/fault.c |4 ++-- arch/i386/oprofile/op_x86_model.h |2 +- arch/i386/pci/irq.c|4 ++-- 37 files changed, 57 insertions(+), 57 deletions(-) diff --git a/arch/i386/boot/compressed/misc.c b/arch/i386/boot/compressed/misc.c index b28505c..1dc1e19 100644 --- a/arch/i386/boot/compressed/misc.c +++ b/arch/i386/boot/compressed/misc.c @@ -25,7 +25,7 @@ /* * Getting to provable safe in place decompression is hard. - * Worst case behaviours need to be analized. + * Worst case behaviours need to be analyzed. * Background information: * * The file layout is: @@ -94,7 +94,7 @@ * Adding 32768 instead of 32767 just makes for round numbers. * Adding the decompressor_size is necessary as it musht live after all * of the data as well. Last I measured the decompressor is about 14K. - * 10K of actuall data and 4K of bss. + * 10K of actual data and 4K of bss. * */ diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index 280898b..fc2fc6f 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c @@ -99,7 +99,7 @@ static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE; /* * The default interrupt routing model is PIC (8259). This gets - * overriden if IOAPICs are enumerated (below). + * overridden if IOAPICs are enumerated (below). */ enum acpi_irq_model_id acpi_irq_model = ACPI_IRQ_MODEL_PIC; @@ -414,8 +414,8 @@ acpi_parse_nmi_src(struct acpi_subtable_header * header, const unsigned long end * * Port 0x4d0-4d1 are ECLR1 and ECLR2, the Edge/Level Control Registers * for the 8259 PIC. bit[n] = 1 means irq[n] is Level, otherwise Edge. - * ECLR1 is IRQ's 0-7 (IRQ 0, 1, 2 must be 0) - * ECLR2 is IRQ's 8-15 (IRQ 8, 13 must be 0) + * ECLR1 is IRQs 0-7 (IRQ 0, 1, 2 must be 0) + * ECLR2 is IRQs 8-15 (IRQ 8, 13 must be 0) */ void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger) @@ -427,7 +427,7 @@ void __init acpi_pic_sci_set_trigger(unsigned int irq, u16 trigger) old = inb(0x4d0) | (inb(0x4d1) << 8); /* -* If we use ACPI to set PCI irq's, then we should clear ELCR +* If we use ACPI to set PCI IRQs, then we should clear ELCR * since we will set it correctly as we enable the PCI irq * routing. */ diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c index 67824f3..d2896ca 100644 --- a/arch/i386/kernel/apic.c +++ b/arch/i386/kernel/apic.c @@ -943,7 +943,7 @@ void __devinit setup_local_APIC(void) * Set up LVT0, LVT1: * * set up through-local-APIC on the BP's LINT0. This is not -* strictly necessery in pure symmetric-IO mode, but sometimes +* strictly necessary in pure symmetric-IO mode, but sometimes * we delegate interrupts to the 8259A. */ /* @@ -994,7 +994,7 @@ void
[PATCH] spelling fixes: arch/ia64/
Spelling fixes in arch/ia64/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/ia64/kernel/acpi.c |2 +- arch/ia64/kernel/crash.c|2 +- arch/ia64/kernel/irq.c |6 +++--- arch/ia64/kernel/irq_lsapic.c |2 +- arch/ia64/kernel/kprobes.c |6 +++--- arch/ia64/kernel/mca_drv.c |4 ++-- arch/ia64/kernel/module.c |2 +- arch/ia64/kernel/perfmon.c | 18 +- arch/ia64/kernel/perfmon_mckinley.h |2 +- arch/ia64/kernel/sal.c |2 +- arch/ia64/kernel/salinfo.c |2 +- arch/ia64/kernel/setup.c|6 +++--- arch/ia64/kernel/smp.c | 12 ++-- arch/ia64/kernel/smpboot.c |6 +++--- arch/ia64/kernel/time.c |2 +- arch/ia64/kernel/traps.c|2 +- arch/ia64/kernel/unwind.c |2 +- arch/ia64/mm/discontig.c|2 +- arch/ia64/sn/kernel/bte.c | 12 ++-- arch/ia64/sn/kernel/bte_error.c |4 ++-- arch/ia64/sn/kernel/io_common.c |2 +- arch/ia64/sn/kernel/setup.c |2 +- arch/ia64/sn/kernel/sn2/sn2_smp.c |2 +- arch/ia64/sn/kernel/xpc_channel.c |8 arch/ia64/sn/kernel/xpnet.c |2 +- arch/ia64/sn/pci/pci_dma.c |8 arch/ia64/sn/pci/pcibr/pcibr_ate.c |6 +++--- arch/ia64/sn/pci/pcibr/pcibr_dma.c |2 +- arch/ia64/sn/pci/tioca_provider.c |6 +++--- arch/ia64/sn/pci/tioce_provider.c | 16 30 files changed, 75 insertions(+), 75 deletions(-) diff --git a/arch/ia64/kernel/acpi.c b/arch/ia64/kernel/acpi.c index 3549c94..c478449 100644 --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c @@ -791,7 +791,7 @@ static __init int setup_additional_cpus(char *s) early_param("additional_cpus", setup_additional_cpus); /* - * cpu_possible_map should be static, it cannot change as cpu's + * cpu_possible_map should be static, it cannot change as CPUs * are onlined, or offlined. The reason is per-cpu data-structures * are allocated by some modules at init time, and dont expect to * do this dynamically on cpu arrival/departure. diff --git a/arch/ia64/kernel/crash.c b/arch/ia64/kernel/crash.c index aeb79fb..e80c82c 100644 --- a/arch/ia64/kernel/crash.c +++ b/arch/ia64/kernel/crash.c @@ -163,7 +163,7 @@ kdump_init_notifier(struct notifier_block *self, unsigned long val, void *data) return NOTIFY_DONE; nd = (struct ia64_mca_notify_die *)args->err; - /* Reason code 1 means machine check rendezous*/ + /* Reason code 1 means machine check rendezvous*/ if ((val == DIE_INIT_MONARCH_ENTER || val == DIE_INIT_SLAVE_ENTER) && nd->sos->rv_rc == 1) return NOTIFY_DONE; diff --git a/arch/ia64/kernel/irq.c b/arch/ia64/kernel/irq.c index ce49c85..f88ff7c 100644 --- a/arch/ia64/kernel/irq.c +++ b/arch/ia64/kernel/irq.c @@ -4,7 +4,7 @@ * Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar * * This file contains the code used by various IRQ handling routines: - * asking for different IRQ's should be done through these routines + * asking for different IRQs should be done through these routines * instead of just grabbing them. Thus setups with different IRQ numbers * shouldn't result in any weird surprises, and installing new handlers * should be easier. @@ -12,7 +12,7 @@ * Copyright (C) Ashok Raj<[EMAIL PROTECTED]>, Intel Corporation 2004 * * 4/14/2004: Added code to handle cpu migration and do safe irq - * migration without lossing interrupts for iosapic + * migration without losing interrupts for iosapic * architecture. */ @@ -179,7 +179,7 @@ void fixup_irqs(void) } /* -* Phase 1: Locate irq's bound to this cpu and +* Phase 1: Locate IRQs bound to this cpu and * relocate them for cpu removal. */ migrate_irqs(); diff --git a/arch/ia64/kernel/irq_lsapic.c b/arch/ia64/kernel/irq_lsapic.c index c2f07be..e56a7a3 100644 --- a/arch/ia64/kernel/irq_lsapic.c +++ b/arch/ia64/kernel/irq_lsapic.c @@ -23,7 +23,7 @@ lsapic_noop_startup (unsigned int irq) static void lsapic_noop (unsigned int irq) { - /* nuthing to do... */ + /* nothing to do... */ } static int lsapic_retrigger(unsigned int irq) diff --git a/arch/ia64/kernel/kprobes.c b/arch/ia64/kernel/kprobes.c index 4f5fd09..21cd36a 100644 --- a/arch/ia64/kernel/kprobes.c +++ b/arch/ia64/kernel/kprobes.c @@ -151,12 +151,12 @@ static uint __kprobes is_cmp_ctype_unc_inst(uint template, uint slot, cmp_inst.l = kprobe_inst; if ((cmp_inst.f.x2 == 0) || (cmp_inst.f.x2 == 1)) { - /* Integere compare - Register Register (A6 type)*/ + /* Integer compare - Register Register (A6 type)*/
[PATCH] spelling fixes: arch/m32r/
Spelling fixes in arch/m32r/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/m32r/kernel/irq.c |2 +- arch/m32r/kernel/signal.c |2 +- arch/m32r/kernel/smp.c | 18 +- arch/m32r/kernel/smpboot.c |6 +++--- arch/m32r/kernel/sys_m32r.c |2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/arch/m32r/kernel/irq.c b/arch/m32r/kernel/irq.c index f8d8650..d0c5b0b 100644 --- a/arch/m32r/kernel/irq.c +++ b/arch/m32r/kernel/irq.c @@ -71,7 +71,7 @@ skip: } /* - * do_IRQ handles all normal device IRQ's (the special + * do_IRQ handles all normal device IRQs (the special * SMP cross-CPU interrupts have their own specific * handlers). */ diff --git a/arch/m32r/kernel/signal.c b/arch/m32r/kernel/signal.c index 916faf6..a753d79 100644 --- a/arch/m32r/kernel/signal.c +++ b/arch/m32r/kernel/signal.c @@ -358,7 +358,7 @@ int do_signal(struct pt_regs *regs, sigset_t *oldset) signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - /* Reenable any watchpoints before delivering the + /* Re-enable any watchpoints before delivering the * signal to user space. The processor register will * have been cleared if the watchpoint triggered * inside the kernel. diff --git a/arch/m32r/kernel/smp.c b/arch/m32r/kernel/smp.c index 3601291..c837bc1 100644 --- a/arch/m32r/kernel/smp.c +++ b/arch/m32r/kernel/smp.c @@ -202,7 +202,7 @@ void smp_flush_cache_all_interrupt(void) } /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ -/* TLB flush request Routins */ +/* TLB flush request Routines*/ /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ /*==* @@ -378,7 +378,7 @@ void smp_flush_tlb_page(struct vm_area_struct *vma, unsigned long va) * Name: flush_tlb_others * * Description: This routine requests other CPU to execute flush TLB. - * 1.Setup parmeters. + * 1.Setup parameters. * 2.Send 'INVALIDATE_TLB_IPI' to other CPU. * Request other CPU to execute 'smp_invalidate_interrupt()'. * 3.Wait for other CPUs operation finished. @@ -502,7 +502,7 @@ void smp_invalidate_interrupt(void) } /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ -/* Stop CPU request Routins */ +/* Stop CPU request Routines */ /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ /*==* @@ -566,7 +566,7 @@ static void stop_this_cpu(void *dummy) } /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ -/* Call function Routins */ +/* Call function Routines*/ /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ /*==* @@ -690,7 +690,7 @@ void smp_call_function_interrupt(void) } /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ -/* Timer Routins */ +/* Timer Routines*/ /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ /*==* @@ -802,7 +802,7 @@ void smp_local_timer_interrupt(void) } /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ -/* Send IPI Routins */ +/* Send IPI Routines */ /*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*/ /*==* @@ -814,7 +814,7 @@ void smp_local_timer_interrupt(void) * * Arguments:ipi_num - Number of IPI * try - 0 : Send IPI certainly. - * !0 : The following IPI is not sended when Target CPU + * !0 : The following IPI is not sent when Target CPU * has not received the before IPI. * * Returns: void (cannot fail) @@ -844,7 +844,7 @@ void send_IPI_allbutself(int ipi_num, int try) * Arguments:cpu_mask - Bitmap of target CPUs logical ID * ipi_num - Number of IPI * try - 0 : Send IPI certainly. - * !0 : The following IPI is not sended when T
[PATCH] spelling fixes: arch/m68k/
Spelling fixes in arch/m68k/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/m68k/amiga/pcmcia.c|2 +- arch/m68k/mac/config.c |4 ++-- arch/m68k/mac/iop.c |4 ++-- arch/m68k/mac/oss.c |2 +- arch/m68k/mac/via.c |2 +- arch/m68k/math-emu/fp_log.c |2 +- arch/m68k/q40/q40ints.c |4 ++-- arch/m68k/sun3/mmu_emu.c|2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/arch/m68k/amiga/pcmcia.c b/arch/m68k/amiga/pcmcia.c index fc57c6e..186662c 100644 --- a/arch/m68k/amiga/pcmcia.c +++ b/arch/m68k/amiga/pcmcia.c @@ -33,7 +33,7 @@ void pcmcia_reset(void) /* copy a tuple, including tuple header. return nb bytes copied */ -/* be carefull as this may trigger a GAYLE_IRQ_WR interrupt ! */ +/* be careful as this may trigger a GAYLE_IRQ_WR interrupt ! */ int pcmcia_copy_tuple(unsigned char tuple_id, void *tuple, int max_len) { diff --git a/arch/m68k/mac/config.c b/arch/m68k/mac/config.c index 5fd4132..f40eecd 100644 --- a/arch/m68k/mac/config.c +++ b/arch/m68k/mac/config.c @@ -283,7 +283,7 @@ static struct mac_model mac_data_table[] = { }, /* -* Weirdified MacII hardware - all subtley different. Gee thanks +* Weirdified MacII hardware - all subtly different. Gee thanks * Apple. All these boxes seem to have VIA2 in a different place to * the MacII (+1A000 rather than +4000) * CSA: see http://developer.apple.com/technotes/hw/hw_09.html @@ -706,7 +706,7 @@ static struct mac_model mac_data_table[] = { * All of these probably have onboard SONIC in the Dock which * means we'll have to probe for it eventually. * -* Are these reallly MAC_VIA_IIci? The developer notes for the +* Are these really MAC_VIA_IIci? The developer notes for the * Duos show pretty much the same custom parts as in most of * the other PowerBooks which would imply MAC_VIA_QUADRA. */ diff --git a/arch/m68k/mac/iop.c b/arch/m68k/mac/iop.c index 0cea21f..5b2799e 100644 --- a/arch/m68k/mac/iop.c +++ b/arch/m68k/mac/iop.c @@ -100,7 +100,7 @@ * finished; this function moves the message state to MSG_COMPLETE and signals * the IOP. This two-step process is provided to allow the handler to defer * message processing to a bottom-half handler if the processing will take - * a signifigant amount of time (handlers are called at interrupt time so they + * a significant amount of time (handlers are called at interrupt time so they * should execute quickly.) */ @@ -120,7 +120,7 @@ /*#define DEBUG_IOP*/ -/* Set to nonezero if the IOPs are present. Set by iop_init() */ +/* Set to non-zero if the IOPs are present. Set by iop_init() */ int iop_scc_present,iop_ism_present; diff --git a/arch/m68k/mac/oss.c b/arch/m68k/mac/oss.c index d7be169..50603d3 100644 --- a/arch/m68k/mac/oss.c +++ b/arch/m68k/mac/oss.c @@ -8,7 +8,7 @@ * * 990502 (jmt) - Major rewrite for new interrupt architecture as well as some *recent insights into OSS operational details. - * 990610 (jmt) - Now taking fulll advantage of the OSS. Interrupts are mapped + * 990610 (jmt) - Now taking full advantage of the OSS. Interrupts are mapped *to mostly match the A/UX interrupt scheme supported on the *VIA side. Also added support for enabling the ISM irq again *since we now have a functional IOP manager. diff --git a/arch/m68k/mac/via.c b/arch/m68k/mac/via.c index d5cac72..8df270e 100644 --- a/arch/m68k/mac/via.c +++ b/arch/m68k/mac/via.c @@ -1,7 +1,7 @@ /* * 6522 Versatile Interface Adapter (VIA) * - * There are two of these on the Mac II. Some IRQ's are vectored + * There are two of these on the Mac II. Some IRQs are vectored * via them as are assorted bits and bobs - eg RTC, ADB. * * CSA: Motorola seems to have removed documentation on the 6522 from diff --git a/arch/m68k/math-emu/fp_log.c b/arch/m68k/math-emu/fp_log.c index 87b4f01..b1033ae 100644 --- a/arch/m68k/math-emu/fp_log.c +++ b/arch/m68k/math-emu/fp_log.c @@ -65,7 +65,7 @@ fp_fsqrt(struct fp_ext *dest, struct fp_ext *src) fp_copy_ext(&src2, dest); /* -* The taylor row arround a for sqrt(x) is: +* The taylor row around a for sqrt(x) is: * sqrt(x) = sqrt(a) + 1/(2*sqrt(a))*(x-a) + R * With a=1 this gives: * sqrt(x) = 1 + 1/2*(x-1) diff --git a/arch/m68k/q40/q40ints.c b/arch/m68k/q40/q40ints.c index 2fb25ae..bbf626e 100644 --- a/arch/m68k/q40/q40ints.c +++ b/arch/m68k/q40/q40ints.c @@ -184,7 +184,7 @@ static struct IRQ_TABLE eirqs[] = { }; /* complain only this many times about spurious ints : */ -static int ccleirq=60;/* ISA dev IRQ's*/ +static int ccleirq=60;/* ISA dev IRQs*/ /*static int cclirq=60;*/ /* internal */ /* FIXME: add shared ints,mask,unmask,probing */ @@ -234,7 +234,7 @@ static void q40
[PATCH] spelling fixes: arch/m68knommu/
Spelling fixes in arch/m68knommu/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/m68knommu/kernel/comempci.c |8 arch/m68knommu/platform/523x/config.c |2 +- arch/m68knommu/platform/527x/config.c |2 +- arch/m68knommu/platform/528x/config.c |2 +- arch/m68knommu/platform/5307/pit.c|2 +- arch/m68knommu/platform/5307/timers.c |4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/m68knommu/kernel/comempci.c b/arch/m68knommu/kernel/comempci.c index 6ee00ef..3ec0a4a 100644 --- a/arch/m68knommu/kernel/comempci.c +++ b/arch/m68knommu/kernel/comempci.c @@ -79,7 +79,7 @@ void pci_interrupt(int irq, void *id, struct pt_regs *fp); /*/ /* - * Some platforms have custom ways of reseting the PCI bus. + * Some platforms have custom ways of resetting the PCI bus. */ void pci_resetbus(void) @@ -145,7 +145,7 @@ int pcibios_assign_resource_slot(int slot) } /* Determine space required by BAR */ - /* FIXME: this should go backwords from 0x8000... */ + /* FIXME: this should go backwards from 0x8000... */ for (i = 0; (i < 32); i++) { if ((0x1 << i) & (val & 0xfffc)) break; @@ -385,8 +385,8 @@ void pcibios_update_resource(struct pci_dev *dev, struct resource *root, struct /*/ /* - * Local routines to interrcept the standard I/O and vector handling - * code. Don't include this 'till now - initialization code above needs + * Local routines to intercept the standard I/O and vector handling + * code. Don't include this until now - initialization code above needs * access to the real code too. */ #include diff --git a/arch/m68knommu/platform/523x/config.c b/arch/m68knommu/platform/523x/config.c index 9b054e6..c55416e 100644 --- a/arch/m68knommu/platform/523x/config.c +++ b/arch/m68knommu/platform/523x/config.c @@ -3,7 +3,7 @@ /* * linux/arch/m68knommu/platform/523x/config.c * - * Sub-architcture dependant initialization code for the Freescale + * Sub-architcture dependent initialization code for the Freescale * 523x CPUs. * * Copyright (C) 1999-2005, Greg Ungerer ([EMAIL PROTECTED]) diff --git a/arch/m68knommu/platform/527x/config.c b/arch/m68knommu/platform/527x/config.c index 28e7d96..c336457 100644 --- a/arch/m68knommu/platform/527x/config.c +++ b/arch/m68knommu/platform/527x/config.c @@ -3,7 +3,7 @@ /* * linux/arch/m68knommu/platform/527x/config.c * - * Sub-architcture dependant initialization code for the Freescale + * Sub-architcture dependent initialization code for the Freescale * 5270/5271 CPUs. * * Copyright (C) 1999-2004, Greg Ungerer ([EMAIL PROTECTED]) diff --git a/arch/m68knommu/platform/528x/config.c b/arch/m68knommu/platform/528x/config.c index 805b4f7..48922de 100644 --- a/arch/m68knommu/platform/528x/config.c +++ b/arch/m68knommu/platform/528x/config.c @@ -3,7 +3,7 @@ /* * linux/arch/m68knommu/platform/528x/config.c * - * Sub-architcture dependant initialization code for the Motorola + * Sub-architcture dependent initialization code for the Motorola * 5280 and 5282 CPUs. * * Copyright (C) 1999-2003, Greg Ungerer ([EMAIL PROTECTED]) diff --git a/arch/m68knommu/platform/5307/pit.c b/arch/m68knommu/platform/5307/pit.c index aa15bee..e8efbe6 100644 --- a/arch/m68knommu/platform/5307/pit.c +++ b/arch/m68knommu/platform/5307/pit.c @@ -79,7 +79,7 @@ unsigned long coldfire_pit_offset(void) /* * If we are still in the first half of the upcount and a -* timer interupt is pending, then add on a ticks worth of time. +* timer interrupt is pending, then add on a ticks worth of time. */ offset = ((pmr - pcntr) * (100 / HZ)) / pmr; if ((offset < (100 / HZ / 2)) && (*ipr & MCFPIT_IMR_IBIT)) diff --git a/arch/m68knommu/platform/5307/timers.c b/arch/m68knommu/platform/5307/timers.c index 92e5807..75301ed 100644 --- a/arch/m68knommu/platform/5307/timers.c +++ b/arch/m68knommu/platform/5307/timers.c @@ -29,8 +29,8 @@ #define TA(a) (MCF_MBAR + MCFTIMER_BASE1 + (a)) /* - * Default the timer and vector to use for ColdFire. Some ColdFire - * CPU's and some boards may want different. Their sub-architecture + * Default timer and vector to use for ColdFire. Some ColdFire CPUs + * and some boards may want different values. Their sub-architecture * startup code (in config.c) can change these if they want. */ unsigned intmcf_timervector = 29; -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More
[PATCH] spelling fixes: arch/mips/
Spelling fixes in arch/mips/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/mips/arc/memory.c |4 ++-- arch/mips/au1000/common/dbdma.c |6 +++--- arch/mips/au1000/common/time.c |2 +- arch/mips/au1000/db1x00/board_setup.c|4 ++-- arch/mips/au1000/mtx-1/board_setup.c |2 +- arch/mips/au1000/pb1200/board_setup.c|2 +- arch/mips/au1000/pb1550/board_setup.c|2 +- arch/mips/cobalt/setup.c |4 ++-- arch/mips/ddb5xxx/common/prom.c |4 ++-- arch/mips/ddb5xxx/ddb5477/lcd44780.c |2 +- arch/mips/ddb5xxx/ddb5477/setup.c|2 +- arch/mips/emma2rh/markeins/irq.c |2 +- arch/mips/gt64120/momenco_ocelot/setup.c |4 ++-- arch/mips/jazz/jazzdma.c |2 +- arch/mips/jmr3927/rbhma3100/kgdb_io.c|2 +- arch/mips/kernel/binfmt_elfn32.c |2 +- arch/mips/kernel/cpu-bugs64.c|2 +- arch/mips/kernel/gdb-stub.c |2 +- arch/mips/kernel/irixelf.c |2 +- arch/mips/kernel/kspd.c |2 +- arch/mips/kernel/linux32.c |2 +- arch/mips/kernel/module.c|2 +- arch/mips/kernel/process.c |4 ++-- arch/mips/kernel/semaphore.c |2 +- arch/mips/kernel/setup.c |4 ++-- arch/mips/kernel/smtc.c |4 ++-- arch/mips/kernel/traps.c |2 +- arch/mips/kernel/vpe.c |2 +- arch/mips/math-emu/cp1emu.c |2 +- arch/mips/math-emu/dp_mul.c |2 +- arch/mips/math-emu/dsemul.c |2 +- arch/mips/math-emu/sp_mul.c |2 +- arch/mips/mips-boards/generic/time.c |4 ++-- arch/mips/mips-boards/sim/sim_time.c |4 ++-- arch/mips/mm/c-r4k.c |4 ++-- arch/mips/mm/c-sb1.c |2 +- arch/mips/mm/c-tx39.c|2 +- arch/mips/mm/sc-ip22.c |2 +- arch/mips/mm/tlbex.c |6 +++--- arch/mips/oprofile/op_impl.h |2 +- arch/mips/pci/fixup-emma2rh.c|2 +- arch/mips/pci/ops-bridge.c |2 +- arch/mips/pci/pci-bcm1480.c |2 +- arch/mips/pci/pci-ddb5477.c |2 +- arch/mips/pci/pci-excite.c |2 +- arch/mips/pci/pci-ip27.c |2 +- arch/mips/pci/pci-ocelot-g.c |2 +- arch/mips/pmc-sierra/yosemite/i2c-yosemite.h |2 +- arch/mips/pmc-sierra/yosemite/smp.c |2 +- arch/mips/sgi-ip27/ip27-hubio.c |2 +- arch/mips/sibyte/sb1250/irq.c|2 +- arch/mips/sni/pcimt.c|2 +- arch/mips/tx4927/common/tx4927_irq.c |4 ++-- arch/mips/tx4938/common/prom.c |2 +- arch/mips/vr41xx/common/cmu.c|2 +- 55 files changed, 71 insertions(+), 71 deletions(-) diff --git a/arch/mips/arc/memory.c b/arch/mips/arc/memory.c index 83d1579..a12c356 100644 --- a/arch/mips/arc/memory.c +++ b/arch/mips/arc/memory.c @@ -9,7 +9,7 @@ * PROM library functions for acquiring/using memory descriptors given to us * from the ARCS firmware. This is only used when CONFIG_ARC_MEMORY is set * because on some machines like SGI IP27 the ARC memory configuration data - * completly bogus and alternate easier to use mechanisms are available. + * completely bogus and alternate easier to use mechanisms are available. */ #include #include @@ -27,7 +27,7 @@ #undef DEBUG /* - * For ARC firmware memory functions the unit of meassuring memory is always + * For ARC firmware memory functions the unit of measuring memory is always * a 4k page of memory */ #define ARC_PAGE_SHIFT 12 diff --git a/arch/mips/au1000/common/dbdma.c b/arch/mips/au1000/common/dbdma.c index 626de44..9550981 100644 --- a/arch/mips/au1000/common/dbdma.c +++ b/arch/mips/au1000/common/dbdma.c @@ -240,7 +240,7 @@ au1xxx_dbdma_chan_alloc(u32 srcid, u32 destid, chan_tab_t *ctp; au1x_dma_chan_t *cp; - /* We do the intialization on the first channel allocation. + /* We do the initialization on the first channel allocation. * We have to wait because of the interrupt handler initialization * which can't be done successfully during board set up. */ @@ -551,7 +551,7 @@ au1xxx_dbdma_ring_alloc(u32 chanid, int entries) dp++; } - /* Make last descrptor point to the first. + /* Make last descriptor point to the first. */ dp--; dp->dscr_nxtptr = DSCR_NXTPTR(virt_to_phys(ctp->chan_desc_base)); @@ -976,7 +976,7 @@ au1xxx_dbdma_put_dscr(u32 chanid, au1x_
[PATCH] spelling fixes: arch/parisc/
Spelling fixes in arch/parisc/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/parisc/kernel/firmware.c|4 ++-- arch/parisc/kernel/perf.c| 12 ++-- arch/parisc/kernel/processor.c |8 arch/parisc/kernel/setup.c |2 +- arch/parisc/kernel/signal32.h|2 +- arch/parisc/kernel/smp.c |6 +++--- arch/parisc/kernel/time.c|2 +- arch/parisc/kernel/traps.c |2 +- arch/parisc/math-emu/dbl_float.h |4 ++-- arch/parisc/math-emu/dfsqrt.c|2 +- arch/parisc/math-emu/sfsqrt.c|2 +- arch/parisc/math-emu/sgl_float.h |4 ++-- arch/parisc/mm/init.c| 10 +- 13 files changed, 30 insertions(+), 30 deletions(-) diff --git a/arch/parisc/kernel/firmware.c b/arch/parisc/kernel/firmware.c index 39dc835..fd6552c 100644 --- a/arch/parisc/kernel/firmware.c +++ b/arch/parisc/kernel/firmware.c @@ -634,7 +634,7 @@ EXPORT_SYMBOL(pdc_lan_station_id); * pdc_stable_read - Read data from Stable Storage. * @staddr: Stable Storage address to access. * @memaddr: The memory address where Stable Storage data shall be copied. - * @count: number of bytes to transfert. count is multiple of 4. + * @count: number of bytes to transfer. count is multiple of 4. * * This PDC call reads from the Stable Storage address supplied in staddr * and copies count bytes to the memory address memaddr. @@ -660,7 +660,7 @@ EXPORT_SYMBOL(pdc_stable_read); * pdc_stable_write - Write data to Stable Storage. * @staddr: Stable Storage address to access. * @memaddr: The memory address where Stable Storage data shall be read from. - * @count: number of bytes to transfert. count is multiple of 4. + * @count: number of bytes to transfer. count is multiple of 4. * * This PDC call reads count bytes from the supplied memaddr address, * and copies count bytes to the Stable Storage address staddr. diff --git a/arch/parisc/kernel/perf.c b/arch/parisc/kernel/perf.c index a46bc62..d324021 100644 --- a/arch/parisc/kernel/perf.c +++ b/arch/parisc/kernel/perf.c @@ -171,7 +171,7 @@ static const uint64_t perf_bitmasks[] = { /* * Write control bitmasks for Pa-8700 processor given - * somethings have changed slightly. + * some things have changed slightly. */ static const uint64_t perf_bitmasks_piranha[] = { 0xul, /* first dbl word must be zero */ @@ -574,27 +574,27 @@ static int perf_stop_counters(uint32_t *raddr) if (!perf_rdr_read_ubuf(16, userbuf)) return -13; - /* Counter0 is bits 1398 thru 1429 */ + /* Counter0 is bits 1398 to 1429 */ tmp64 = (userbuf[21] << 22) & 0xffc0; tmp64 |= (userbuf[22] >> 42) & 0x003f; /* OR sticky0 (bit 1430) to counter0 bit 32 */ tmp64 |= (userbuf[22] >> 10) & 0x8000; raddr[0] = (uint32_t)tmp64; - /* Counter1 is bits 1431 thru 1462 */ + /* Counter1 is bits 1431 to 1462 */ tmp64 = (userbuf[22] >> 9) & 0x; /* OR sticky1 (bit 1463) to counter1 bit 32 */ tmp64 |= (userbuf[22] << 23) & 0x8000; raddr[1] = (uint32_t)tmp64; - /* Counter2 is bits 1464 thru 1495 */ + /* Counter2 is bits 1464 to 1495 */ tmp64 = (userbuf[22] << 24) & 0xff00; tmp64 |= (userbuf[23] >> 40) & 0x00ff; /* OR sticky2 (bit 1496) to counter2 bit 32 */ tmp64 |= (userbuf[23] >> 8) & 0x8000; raddr[2] = (uint32_t)tmp64; - /* Counter3 is bits 1497 thru 1528 */ + /* Counter3 is bits 1497 to 1528 */ tmp64 = (userbuf[23] >> 7) & 0x; /* OR sticky3 (bit 1529) to counter3 bit 32 */ tmp64 |= (userbuf[23] << 25) & 0x8000; @@ -616,7 +616,7 @@ static int perf_stop_counters(uint32_t *raddr) userbuf[23] = 0; /* - * Write back the zero'ed bytes + the image given +* Write back the zeroed bytes + the image given * the read was destructive. */ perf_rdr_write(16, userbuf); diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c index dd5d0cb..15992f4 100644 --- a/arch/parisc/kernel/processor.c +++ b/arch/parisc/kernel/processor.c @@ -63,7 +63,7 @@ extern int update_cr16_clocksource(void); /* from time.c */ ** will call register_parisc_driver(&cpu_driver) before calling do_inventory(). ** ** The goal of consolidating CPU initialization into one place is -** to make sure all CPU's get initialized the same way. +** to make sure all CPUs get initiali
[PATCH] spelling fixes: arch/powerpc/
Spelling fixes in arch/powerpc/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/powerpc/boot/treeboot-ebony.c |2 +- arch/powerpc/kernel/irq.c |8 arch/powerpc/kernel/legacy_serial.c |2 +- arch/powerpc/kernel/nvram_64.c |2 +- arch/powerpc/kernel/of_platform.c |8 arch/powerpc/kernel/prom.c |6 +++--- arch/powerpc/kernel/rtas-proc.c |2 +- arch/powerpc/kernel/rtas.c |2 +- arch/powerpc/kernel/setup_64.c |8 arch/powerpc/kernel/signal_32.c |2 +- arch/powerpc/kernel/signal_64.c |2 +- arch/powerpc/kernel/traps.c |4 ++-- arch/powerpc/kernel/udbg_16550.c|2 +- arch/powerpc/math-emu/op-common.h |2 +- arch/powerpc/math-emu/sfp-machine.h |4 ++-- arch/powerpc/mm/hugetlbpage.c |2 +- arch/powerpc/mm/numa.c |2 +- arch/powerpc/oprofile/op_model_7450.c |4 ++-- arch/powerpc/oprofile/op_model_cell.c |8 arch/powerpc/oprofile/op_model_fsl_booke.c |2 +- arch/powerpc/platforms/52xx/mpc52xx_common.c|2 +- arch/powerpc/platforms/52xx/mpc52xx_pci.c |4 ++-- arch/powerpc/platforms/52xx/mpc52xx_pm.c|2 +- arch/powerpc/platforms/cell/spider-pic.c| 12 ++-- arch/powerpc/platforms/cell/spufs/lscsa_alloc.c |2 +- arch/powerpc/platforms/cell/spufs/spu_restore.c |2 +- arch/powerpc/platforms/cell/spufs/switch.c |4 ++-- arch/powerpc/platforms/celleb/pci.c |4 ++-- arch/powerpc/platforms/celleb/scc_epci.c|6 +++--- arch/powerpc/platforms/celleb/scc_uhc.c |2 +- arch/powerpc/platforms/powermac/feature.c |4 ++-- arch/powerpc/platforms/powermac/pfunc_base.c|2 +- arch/powerpc/platforms/powermac/setup.c |4 ++-- arch/powerpc/platforms/ps3/interrupt.c |2 +- arch/powerpc/platforms/ps3/mm.c |6 +++--- arch/powerpc/platforms/ps3/os-area.c|4 ++-- arch/powerpc/platforms/ps3/platform.h |4 ++-- arch/powerpc/platforms/pseries/eeh.c|4 ++-- arch/powerpc/platforms/pseries/eeh_driver.c |2 +- arch/powerpc/sysdev/commproc.c |2 +- arch/powerpc/sysdev/dart_iommu.c|2 +- arch/powerpc/sysdev/mpic.c |2 +- 42 files changed, 76 insertions(+), 76 deletions(-) diff --git a/arch/powerpc/boot/treeboot-ebony.c b/arch/powerpc/boot/treeboot-ebony.c index 8436a9c..1e3d24e 100644 --- a/arch/powerpc/boot/treeboot-ebony.c +++ b/arch/powerpc/boot/treeboot-ebony.c @@ -3,7 +3,7 @@ * * Author: David Gibson <[EMAIL PROTECTED]> * - * Copyright 2007 David Gibson, IBM Corporatio. + * Copyright 2007 David Gibson, IBM Corporation. * Based on cuboot-83xx.c, which is: * Copyright (c) 2007 Freescale Semiconductor, Inc. * diff --git a/arch/powerpc/kernel/irq.c b/arch/powerpc/kernel/irq.c index 9ed4931..861a288 100644 --- a/arch/powerpc/kernel/irq.c +++ b/arch/powerpc/kernel/irq.c @@ -15,7 +15,7 @@ * 2 of the License, or (at your option) any later version. * * This file contains the code used by various IRQ handling routines: - * asking for different IRQ's should be done through these routines + * asking for different IRQs should be done through these routines * instead of just grabbing them. Thus setups with different IRQ numbers * shouldn't result in any weird surprises, and installing new handlers * should be easier. @@ -481,7 +481,7 @@ struct irq_host *irq_alloc_host(unsigned int revmap_type, /* Legacy flags are left to default at this point, * one can then use irq_create_mapping() to -* explicitely change them +* explicitly change them */ ops->map(host, i, i); } @@ -599,7 +599,7 @@ unsigned int irq_create_mapping(struct irq_host *host, pr_debug("irq: irq_create_mapping(0x%p, 0x%lx)\n", host, hwirq); - /* Look for default host if nececssary */ + /* Look for default host if necessary */ if (host == NULL) host = irq_default_host; if (host == NULL) { @@ -771,7 +771,7 @@ unsigned int irq_find_mapping(struct irq_host *host, unsigned int i; unsigned int hint = hwirq % irq_virq_count; - /* Look for default host if nececssary */ + /* Look for default host if necessary */ if (host == NULL) host = irq_default_host; if (host == NULL) diff --git a/arch/powerpc/kernel/legacy_serial.c b/arch/powerpc/kernel/legacy_serial.c index cea8045..8653b33 100644 --- a/arch/powerpc/kernel
[PATCH] spelling fixes: arch/ppc/
Spelling fixes in arch/ppc/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/ppc/4xx_io/serial_sicc.c| 10 +- arch/ppc/8xx_io/commproc.c |2 +- arch/ppc/8xx_io/fec.c|2 +- arch/ppc/boot/lib/vreset.c |2 +- arch/ppc/boot/simple/m8xx_tty.c |2 +- arch/ppc/boot/simple/misc-embedded.c |2 +- arch/ppc/boot/simple/mpc52xx_tty.c |2 +- arch/ppc/boot/simple/mv64x60_tty.c |2 +- arch/ppc/boot/simple/rw4/stb.h |2 +- arch/ppc/kernel/traps.c |4 ++-- arch/ppc/mm/init.c |2 +- arch/ppc/platforms/4xx/bubinga.c |2 +- arch/ppc/platforms/4xx/ep405.c |2 +- arch/ppc/platforms/4xx/ibmnp405h.h |2 +- arch/ppc/platforms/4xx/sycamore.c|2 +- arch/ppc/platforms/4xx/walnut.c |2 +- arch/ppc/platforms/ev64360.c |2 +- arch/ppc/platforms/hdpu.c|2 +- arch/ppc/platforms/katana.c |2 +- arch/ppc/platforms/mbx.h |2 +- arch/ppc/platforms/mvme5100.h|2 +- arch/ppc/platforms/pplus.h |2 +- arch/ppc/platforms/prep_pci.c| 22 +++--- arch/ppc/platforms/prep_setup.c |6 +++--- arch/ppc/platforms/prpmc750.h|2 +- arch/ppc/platforms/radstone_ppc7d.c |2 +- arch/ppc/platforms/sandpoint.c |8 arch/ppc/syslib/harrier.c|2 +- arch/ppc/syslib/hawk_common.c|4 ++-- arch/ppc/syslib/m82xx_pci.c |2 +- arch/ppc/syslib/mpc10x_common.c |4 ++-- arch/ppc/syslib/mpc52xx_setup.c |2 +- arch/ppc/syslib/mpc8xx_devices.c |2 +- arch/ppc/syslib/mv64x60.c| 10 +- arch/ppc/syslib/ocp.c|2 +- arch/ppc/syslib/ppc403_pic.c |2 +- arch/ppc/syslib/ppc405_pci.c |2 +- arch/ppc/syslib/ppc4xx_dma.c |2 +- arch/ppc/syslib/ppc85xx_rio.c|4 ++-- arch/ppc/syslib/xilinx_pic.c |2 +- 40 files changed, 67 insertions(+), 67 deletions(-) diff --git a/arch/ppc/4xx_io/serial_sicc.c b/arch/ppc/4xx_io/serial_sicc.c index e354839..efa0a56 100644 --- a/arch/ppc/4xx_io/serial_sicc.c +++ b/arch/ppc/4xx_io/serial_sicc.c @@ -3,7 +3,7 @@ * * Based on drivers/char/serial_amba.c, by ARM Ltd. * - * Copyright 2001 IBM Crop. + * Copyright 2001 IBM Corp. * Author: IBM China Research Lab *Yudong Yang <[EMAIL PROTECTED]> *Yi Ge <[EMAIL PROTECTED]> @@ -155,16 +155,16 @@ /* serial port transmit command register */ -#define _TxCR_ET_MASK 0x80 /* transmiter enable mask */ +#define _TxCR_ET_MASK 0x80 /* transmitter enable mask */ #define _TxCR_DME_MASK 0x60 /* dma mode mask */ #define _TxCR_TIE_MASK 0x10 /* empty interrupt enable mask */ #define _TxCR_EIE_MASK 0x08 /* error interrupt enable mask */ #define _TxCR_SPE_MASK 0x04 /* stop/pause mask */ #define _TxCR_TB_MASK 0x02 /* transmit break mask */ -#define _TxCR_ET_ENABLE _TxCR_ET_MASK /* transmiter enabled */ -#define _TxCR_DME_DISABLE 0x00 /* transmiter disabled, TBR intr disabled */ -#define _TxCR_DME_TBR 0x20 /* transmiter disabled, TBR intr enabled */ +#define _TxCR_ET_ENABLE _TxCR_ET_MASK /* transmitter enabled */ +#define _TxCR_DME_DISABLE 0x00 /* transmitter disabled, TBR intr disabled */ +#define _TxCR_DME_TBR 0x20 /* transmitter disabled, TBR intr enabled */ #define _TxCR_DME_CHAN_2 0x40 /* dma enabled, destination chann 2 */ #define _TxCR_DME_CHAN_3 0x60 /* dma enabled, destination chann 3 */ diff --git a/arch/ppc/8xx_io/commproc.c b/arch/ppc/8xx_io/commproc.c index e2c6210..7088428 100644 --- a/arch/ppc/8xx_io/commproc.c +++ b/arch/ppc/8xx_io/commproc.c @@ -144,7 +144,7 @@ m8xx_cpm_reset(void) /* Set SDMA Bus Request priority 5. * On 860T, this also enables FEC priority 6. I am not sure -* this is what we realy want for some applications, but the +* this is what we really want for some applications, but the * manual recommends it. * Bit 25, FAM can also be set to use FEC aggressive mode (860T). */ diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c index 57a9a61..d38335d 100644 --- a/arch/ppc/8xx_io/fec.c +++ b/arch/ppc/8xx_io/fec.c @@ -1878,7 +1878,7 @@ fec_restart(struct net_device *dev, int duplex) bdp--; bdp->cbd_sc |= BD_SC_WRAP; - /* ...and the same for transmmit. + /* ...and the same for transmit. */ bdp = fep->tx_bd_base; for (i=0; icmd_stat & SDMA_DESC_CMDSTAT_O) == 0) && (loop_count++ < RX_NUM_DESC)) { diff --git a/arch/ppc/boot/simple/rw4/stb.h b/arch/ppc/boot/simple/rw4/stb.h index fd98ee0..9afa5ab 100644 --- a/arch/ppc/boot/simple/rw4/stb.h +++ b/arch/p
[PATCH] spelling fixes: arch/s390/
Spelling fixes in arch/s390/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/s390/crypto/des_s390.c |4 ++-- arch/s390/kernel/debug.c| 18 +- arch/s390/kernel/irq.c |2 +- arch/s390/kernel/time.c |6 +++--- arch/s390/kernel/vtime.c|6 +++--- arch/s390/lib/delay.c |2 +- arch/s390/math-emu/math.c |4 ++-- arch/s390/mm/fault.c|2 +- 8 files changed, 22 insertions(+), 22 deletions(-) diff --git a/arch/s390/crypto/des_s390.c b/arch/s390/crypto/des_s390.c index ea22707..8b36da6 100644 --- a/arch/s390/crypto/des_s390.c +++ b/arch/s390/crypto/des_s390.c @@ -239,7 +239,7 @@ static struct crypto_alg cbc_des_alg = { * * However, if the two independent 64-bit keys are equal, * then the DES3 operation is simply the same as DES. - * Implementers MUST reject keys that exhibit this property. + * Implementors MUST reject keys that exhibit this property. * */ static int des3_128_setkey(struct crypto_tfm *tfm, const u8 *key, @@ -397,7 +397,7 @@ static struct crypto_alg cbc_des3_128_alg = { * * However, if the first two or last two independent 64-bit keys are * equal (k1 == k2 or k2 == k3), then the DES3 operation is simply the - * same as DES. Implementers MUST reject keys that exhibit this + * same as DES. Implementors MUST reject keys that exhibit this * property. * */ diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c index dca6eaf..f075e31 100644 --- a/arch/s390/kernel/debug.c +++ b/arch/s390/kernel/debug.c @@ -34,13 +34,13 @@ typedef struct file_private_info { loff_t offset; /* offset of last read in file */ - intact_area;/* number of last formated area */ + intact_area;/* number of last formatted area */ intact_page;/* act page in given area */ - intact_entry; /* last formated entry (offset */ + intact_entry; /* last formatted entry (offset */ /* relative to beginning of last */ -/* formated page) */ +/* formatted page) */ size_t act_entry_offset;/* up to this offset we copied */ - /* in last read the last formated */ + /* in last read the last formatted */ /* entry to userland */ char temp_buf[2048]; /* buffer for output */ debug_info_t *debug_info_org; /* original debug information */ @@ -63,7 +63,7 @@ typedef struct extern void tod_to_timeval(uint64_t todval, struct timespec *xtime); -/* internal function prototyes */ +/* internal function prototypes */ static int debug_init(void); static ssize_t debug_output(struct file *file, char __user *user_buf, @@ -442,7 +442,7 @@ debug_info_put(debug_info_t *db_info) /* * debug_format_entry: - * - format one debug entry and return size of formated data + * - format one debug entry and return size of formatted data */ static int @@ -514,7 +514,7 @@ out: /* * debug_output: * - called for user read() - * - copies formated debug entries to the user buffer + * - copies formatted debug entries to the user buffer */ static ssize_t @@ -591,7 +591,7 @@ debug_input(struct file *file, const char __user *user_buf, size_t length, /* * debug_open: * - called for user open() - * - copies formated output to private_data area of the file + * - copies formatted output to private_data area of the file * handle */ @@ -1461,7 +1461,7 @@ debug_dflt_header_fn(debug_info_t * id, struct debug_view *view, } /* - * prints debug data sprintf-formated: + * prints debug data sprintf-formatted: * debug_sprinf_event/exception calls must be used together with this view */ diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c index 8f0cbca..c0c87bb 100644 --- a/arch/s390/kernel/irq.c +++ b/arch/s390/kernel/irq.c @@ -48,7 +48,7 @@ int show_interrupts(struct seq_file *p, void *v) } /* - * For compatibilty only. S/390 specific setup of interrupts et al. is done + * For compatibility only. S/390 specific setup of interrupts et al. is done * much later in init_channel_subsystem(). */ void __init diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index 9c2872a..7d39a46 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c @@ -784,7 +784,7 @@ static void etr_sync_cpu_end(void *dummy) #endif /* CONFIG_SMP */ /* - * Sync the TOD clock using the port refered to by aibp. This port + * Sync the TOD clock using the port referred to by aibp. This port * has to be enabled and the other port has to be disabled. The * last eacr update has to be more than 1.6 seconds in the past. */ @@ -1046,7 +1046,7 @@ static void etr_work_fn(struct work_struct *work) eacr = etr_handle_update(&
[PATCH] spelling fixes: arch/sh/
Spelling fixes in arch/sh/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/sh/boards/landisk/gio.c |2 +- arch/sh/boards/snapgear/rtc.c|2 +- arch/sh/boards/superh/microdev/io.c |6 +++--- arch/sh/boards/superh/microdev/irq.c |6 +++--- arch/sh/boards/superh/microdev/setup.c |2 +- arch/sh/boards/unknown/setup.c |2 +- arch/sh/drivers/dma/dma-api.c|2 +- arch/sh/drivers/dma/dma-isa.c|2 +- arch/sh/drivers/dma/dmabrg.c |2 +- arch/sh/drivers/pci/ops-dreamcast.c |2 +- arch/sh/drivers/pci/pci-st40.c |6 +++--- arch/sh/drivers/pci/pci-st40.h |2 +- arch/sh/drivers/superhyway/ops-sh4-202.c |2 +- arch/sh/kernel/cf-enabler.c |2 +- arch/sh/kernel/cpu/irq/maskreg.c |2 +- arch/sh/kernel/cpu/sh4/fpu.c |2 +- arch/sh/kernel/kgdb_stub.c |4 ++-- arch/sh/kernel/traps.c |2 +- arch/sh/math-emu/math.c |2 +- arch/sh/mm/init.c|2 +- 20 files changed, 27 insertions(+), 27 deletions(-) diff --git a/arch/sh/boards/landisk/gio.c b/arch/sh/boards/landisk/gio.c index 50d38be..a37643d 100644 --- a/arch/sh/boards/landisk/gio.c +++ b/arch/sh/boards/landisk/gio.c @@ -69,7 +69,7 @@ static int gio_ioctl(struct inode *inode, struct file *filp, } switch (cmd) { - case GIODRV_IOCSGIOSETADDR: /* addres set */ + case GIODRV_IOCSGIOSETADDR: /* address set */ addr = data; break; diff --git a/arch/sh/boards/snapgear/rtc.c b/arch/sh/boards/snapgear/rtc.c index 1659fdd..edb3dd9 100644 --- a/arch/sh/boards/snapgear/rtc.c +++ b/arch/sh/boards/snapgear/rtc.c @@ -108,7 +108,7 @@ static void ds1302_writebyte(unsigned int addr, unsigned int val) static void ds1302_reset(void) { unsigned long flags; - /* Hardware dependant reset/init */ + /* Hardware dependent reset/init */ local_irq_save(flags); set_dirp(get_dirp() | RTC_RESET | RTC_IODATA | RTC_SCLK); set_dp(get_dp() & ~(RTC_RESET | RTC_IODATA | RTC_SCLK)); diff --git a/arch/sh/boards/superh/microdev/io.c b/arch/sh/boards/superh/microdev/io.c index 83419bf..b704e20 100644 --- a/arch/sh/boards/superh/microdev/io.c +++ b/arch/sh/boards/superh/microdev/io.c @@ -198,12 +198,12 @@ void microdev_outb(unsigned char b, unsigned long port) /* * There is a board feature with the current SH4-202 MicroDev in * that the 2 byte enables (nBE0 and nBE1) are tied together (and -* to the Chip Select Line (Ethernet_CS)). Due to this conectivity, +* to the Chip Select Line (Ethernet_CS)). Due to this connectivity, * it is not possible to safely perform 8-bit writes to the * Ethernet registers, as 16-bits will be consumed from the Data * lines (corrupting the other byte). Hence, this function is -* written to impliment 16-bit read/modify/write for all byte-wide -* acceses. +* written to implement 16-bit read/modify/write for all byte-wide +* accesses. * * Note: there is no problem with byte READS (even or odd). * diff --git a/arch/sh/boards/superh/microdev/irq.c b/arch/sh/boards/superh/microdev/irq.c index 8c64baa..cc1cb04 100644 --- a/arch/sh/boards/superh/microdev/irq.c +++ b/arch/sh/boards/superh/microdev/irq.c @@ -100,7 +100,7 @@ static void disable_microdev_irq(unsigned int irq) fpgaIrq = fpgaIrqTable[irq].fpgaIrq; - /* disable interupts on the FPGA INTC register */ + /* disable interrupts on the FPGA INTC register */ ctrl_outl(MICRODEV_FPGA_INTC_MASK(fpgaIrq), MICRODEV_FPGA_INTDSB_REG); } @@ -125,7 +125,7 @@ static void enable_microdev_irq(unsigned int irq) priorities |= MICRODEV_FPGA_INTPRI_LEVEL(fpgaIrq, pri); ctrl_outl(priorities, priorityReg); - /* enable interupts on the FPGA INTC register */ + /* enable interrupts on the FPGA INTC register */ ctrl_outl(MICRODEV_FPGA_INTC_MASK(fpgaIrq), MICRODEV_FPGA_INTENB_REG); } @@ -152,7 +152,7 @@ extern void __init init_microdev_irq(void) { int i; - /* disable interupts on the FPGA INTC register */ + /* disable interrupts on the FPGA INTC register */ ctrl_outl(~0ul, MICRODEV_FPGA_INTDSB_REG); for (i = 0; i < NUM_EXTERNAL_IRQS; i++) diff --git a/arch/sh/boards/superh/microdev/setup.c b/arch/sh/boards/superh/microdev/setup.c index 031c814..6396cea 100644 --- a/arch/sh/boards/superh/microdev/setup.c +++ b/arch/sh/boards/superh/microdev/setup.c @@ -349,7 +349,7 @@ static int __init smsc_superio_setup(void) SMSC_WRITE_INDEXED(0x00, 0xc7); /* GP47 = nIOWOP */ SMSC_WRITE_INDEXED(0x08, 0xe8); /* GP20 = nIDE2_OE */ -
[PATCH] spelling fixes: arch/sh64/
Spelling fixes in arch/sh64/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/sh64/kernel/pci_sh5.h|2 +- arch/sh64/kernel/process.c|2 +- arch/sh64/kernel/time.c |2 +- arch/sh64/mach-cayman/setup.c |2 +- arch/sh64/mm/fault.c |2 +- arch/sh64/mm/tlbmiss.c|4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/arch/sh64/kernel/pci_sh5.h b/arch/sh64/kernel/pci_sh5.h index 8f21f5d..c71159d 100644 --- a/arch/sh64/kernel/pci_sh5.h +++ b/arch/sh64/kernel/pci_sh5.h @@ -4,7 +4,7 @@ * May be copied or modified under the terms of the GNU General Public * License. See linux/COPYING for more information. * - * Defintions for the SH5 PCI hardware. + * Definitions for the SH5 PCI hardware. */ /* Product ID */ diff --git a/arch/sh64/kernel/process.c b/arch/sh64/kernel/process.c index 525d0ec..1b89c9d 100644 --- a/arch/sh64/kernel/process.c +++ b/arch/sh64/kernel/process.c @@ -387,7 +387,7 @@ ATTRIB_NORET void kernel_thread_helper(void *arg, int (*fn)(void *)) * NOTE! Only a kernel-only process(ie the swapper or direct descendants * who haven't done an "execve()") should use this: it will work within * a system call from a "real" process, but the process memory space will - * not be free'd until both the parent and the child have exited. + * not be freed until both the parent and the child have exited. */ int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) { diff --git a/arch/sh64/kernel/time.c b/arch/sh64/kernel/time.c index 390b40d..bad0f05 100644 --- a/arch/sh64/kernel/time.c +++ b/arch/sh64/kernel/time.c @@ -123,7 +123,7 @@ static unsigned long long usecs_per_jiffy = 100/HZ; /* Approximation */ static unsigned long long scaled_recip_ctc_ticks_per_jiffy; /* Estimate number of microseconds that have elapsed since the last timer tick, - by scaling the delta that has occured in the CTC register. + by scaling the delta that has occurred in the CTC register. WARNING WARNING WARNING : This algorithm relies on the CTC decrementing at the CPU clock rate. If the CPU sleeps, the CTC stops counting. Bear this diff --git a/arch/sh64/mach-cayman/setup.c b/arch/sh64/mach-cayman/setup.c index 3ed87cd..c3611cc 100644 --- a/arch/sh64/mach-cayman/setup.c +++ b/arch/sh64/mach-cayman/setup.c @@ -213,7 +213,7 @@ static int __init smsc_superio_setup(void) SMSC_SUPERIO_WRITE_INDEXED(0x00, 0xc7); /* GP47 = nIOWOP */ #endif - /* Exit the configuraton state */ + /* Exit the configuration state */ outb(SMSC_EXIT_CONFIG_KEY, SMSC_CONFIG_PORT_ADDR); return 0; diff --git a/arch/sh64/mm/fault.c b/arch/sh64/mm/fault.c index 4dd8ee8..3cd93ba 100644 --- a/arch/sh64/mm/fault.c +++ b/arch/sh64/mm/fault.c @@ -135,7 +135,7 @@ asmlinkage void do_page_fault(struct pt_regs *regs, unsigned long writeaccess, /* SIM * Note this is now called with interrupts still disabled * This is to cope with being called for a missing IO port -* address with interupts disabled. This should be fixed as +* address with interrupts disabled. This should be fixed as * soon as we have a better 'fast path' miss handler. * * Plus take care how you try and debug this stuff. diff --git a/arch/sh64/mm/tlbmiss.c b/arch/sh64/mm/tlbmiss.c index d4c5334..b767d6c 100644 --- a/arch/sh64/mm/tlbmiss.c +++ b/arch/sh64/mm/tlbmiss.c @@ -14,7 +14,7 @@ * IMPORTANT NOTES : * The do_fast_page_fault function is called from a context in entry.S where very few registers * have been saved. In particular, the code in this file must be compiled not to use ANY - * caller-save regiseters that are not part of the restricted save set. Also, it means that + * caller-save registers that are not part of the restricted save set. Also, it means that * code in this file must not make calls to functions elsewhere in the kernel, or else the * excepting context will see corruption in its caller-save registers. Plus, the entry.S save * area is non-reentrant, so this code has to run with SR.BL==1, i.e. no interrupts taken inside @@ -249,7 +249,7 @@ asmlinkage int do_fast_page_fault(unsigned long long ssr_md, unsigned long long /* SIM * Note this is now called with interrupts still disabled * This is to cope with being called for a missing IO port -* address with interupts disabled. This should be fixed as +* address with interrupts disabled. This should be fixed as * soon as we have a better 'fast path' miss handler. * * Plus take care how you try and debug this stuff. -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: arch/sparc/
Spelling fixes in arch/sparc/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/sparc/kernel/auxio.c |2 +- arch/sparc/kernel/ioport.c|2 +- arch/sparc/kernel/irq.c |8 arch/sparc/kernel/pcic.c |4 ++-- arch/sparc/kernel/process.c |2 +- arch/sparc/kernel/sun4d_irq.c |2 +- arch/sparc/kernel/sun4m_irq.c |2 +- arch/sparc/prom/printf.c |2 +- 8 files changed, 12 insertions(+), 12 deletions(-) diff --git a/arch/sparc/kernel/auxio.c b/arch/sparc/kernel/auxio.c index 118f3ec..baf4ed3 100644 --- a/arch/sparc/kernel/auxio.c +++ b/arch/sparc/kernel/auxio.c @@ -88,7 +88,7 @@ void set_auxio(unsigned char bits_on, unsigned char bits_off) break; case sun4m: if(!auxio_register) - break; /* VME chassic sun4m, no auxio. */ + break; /* VME chassis sun4m, no auxio. */ regval = sbus_readb(auxio_register); sbus_writeb(((regval | bits_on) & ~bits_off) | AUXIO_ORMEIN4M, auxio_register); diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c index 987ec67..62182d2 100644 --- a/arch/sparc/kernel/ioport.c +++ b/arch/sparc/kernel/ioport.c @@ -617,7 +617,7 @@ void *pci_alloc_consistent(struct pci_dev *pdev, size_t len, dma_addr_t *pba) * size must be the same as what as passed into pci_alloc_consistent, * and likewise dma_addr must be the same as what *dma_addrp was set to. * - * References to the memory and mappings assosciated with cpu_addr/dma_addr + * References to the memory and mappings associated with cpu_addr/dma_addr * past this call are illegal. */ void pci_free_consistent(struct pci_dev *pdev, size_t n, void *p, dma_addr_t ba) diff --git a/arch/sparc/kernel/irq.c b/arch/sparc/kernel/irq.c index bdbefa8..f257a67 100644 --- a/arch/sparc/kernel/irq.c +++ b/arch/sparc/kernel/irq.c @@ -1,6 +1,6 @@ /* $Id: irq.c,v 1.114 2001/12/11 04:55:51 davem Exp $ * arch/sparc/kernel/irq.c: Interrupt request handling routines. On the - *Sparc the IRQ's are basically 'cast in stone' + *Sparc the IRQs are basically 'cast in stone' *and you are supposed to probe the prom's device *node trees to find out who's got which IRQ. * @@ -330,7 +330,7 @@ void handler_irq(int irq, struct pt_regs * regs) irq_enter(); disable_pil_irq(irq); #ifdef CONFIG_SMP - /* Only rotate on lower priority IRQ's (scsi, ethernet, etc.). */ + /* Only rotate on lower priority IRQs (scsi, ethernet, etc.). */ if((sparc_cpu_model==sun4m) && (irq < 10)) smp4m_irq_rotate(cpu); #endif @@ -371,7 +371,7 @@ void sparc_floppy_irq(int irq, void *dev_id, struct pt_regs *regs) } #endif -/* Fast IRQ's on the Sparc can only have one routine attached to them, +/* Fast IRQs on the Sparc can only have one routine attached to them, * thus no sharing possible. */ int request_fast_irq(unsigned int irq, @@ -608,7 +608,7 @@ void __init init_IRQ(void) break; default: - prom_printf("Cannot initialize IRQ's on this Sun machine..."); + prom_printf("Cannot initialize IRQs on this Sun machine..."); break; } btfixup(); diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c index 5ca7e8f..7917711 100644 --- a/arch/sparc/kernel/pcic.c +++ b/arch/sparc/kernel/pcic.c @@ -755,7 +755,7 @@ void __init pci_time_init(void) static __inline__ unsigned long do_gettimeoffset(void) { /* -* We devide all to 100 +* We divide all by 100 * to have microsecond resolution and to avoid overflow */ unsigned long count = @@ -956,7 +956,7 @@ EXPORT_SYMBOL(pci_device_to_OF_node); * Also, think for a moment about likes of floppy.c that * include architecture specific parts. They may want to redefine ins/outs. * - * We do not use horroble macroses here because we want to + * We do not use horrible macros here because we want to * advance pointer by sizeof(size). */ void outsb(unsigned long addr, const void *src, unsigned long count) diff --git a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c index 2940d2c..8c37f8f 100644 --- a/arch/sparc/kernel/process.c +++ b/arch/sparc/kernel/process.c @@ -683,7 +683,7 @@ out: * NOTE! Only a kernel-only process(ie the swapper or direct descendants * who haven't done an "execve()") should use this: it will work within * a system call from a "real" process, but the process memory space will - * not be free'd until both the parent and the child have exited. + * not be freed until both the parent and the child have exited. */ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) { diff --
[PATCH] spelling fixes: arch/sparc64/
Spelling fixes in arch/sparc64/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/sparc64/kernel/devices.c |2 +- arch/sparc64/kernel/of_device.c |4 ++-- arch/sparc64/kernel/pci_iommu.c |2 +- arch/sparc64/kernel/pci_sun4v.c |2 +- arch/sparc64/kernel/process.c |2 +- arch/sparc64/kernel/prom.c |2 +- arch/sparc64/mm/init.c |2 +- 7 files changed, 8 insertions(+), 8 deletions(-) diff --git a/arch/sparc64/kernel/devices.c b/arch/sparc64/kernel/devices.c index ec10f7e..0e03c8e 100644 --- a/arch/sparc64/kernel/devices.c +++ b/arch/sparc64/kernel/devices.c @@ -21,7 +21,7 @@ #include #include -/* Used to synchronize acceses to NatSemi SUPER I/O chip configure +/* Used to synchronize accesses to NatSemi SUPER I/O chip configure * operations in asm/ns87303.h */ DEFINE_SPINLOCK(ns87303_lock); diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c index 9ac9a30..7455f5d 100644 --- a/arch/sparc64/kernel/of_device.c +++ b/arch/sparc64/kernel/of_device.c @@ -596,7 +596,7 @@ static void __init build_device_resources(struct of_device *op, /* Convert to num-entries. */ num_reg /= na + ns; - /* Prevent overruning the op->resources[] array. */ + /* Prevent overrunning the op->resources[] array. */ if (num_reg > PROMREG_MAX) { printk(KERN_WARNING "%s: Too many regs (%d), " "limiting to %d.\n", @@ -904,7 +904,7 @@ static struct of_device * __init scan_one_device(struct device_node *dp, op->num_irqs = 0; } - /* Prevent overruning the op->irqs[] array. */ + /* Prevent overrunning the op->irqs[] array. */ if (op->num_irqs > PROMINTR_MAX) { printk(KERN_WARNING "%s: Too many irqs (%d), " "limiting to %d.\n", diff --git a/arch/sparc64/kernel/pci_iommu.c b/arch/sparc64/kernel/pci_iommu.c index dfd6f9f..70d2364 100644 --- a/arch/sparc64/kernel/pci_iommu.c +++ b/arch/sparc64/kernel/pci_iommu.c @@ -542,7 +542,7 @@ static inline void fill_sg(iopte_t *iopte, struct scatterlist *sg, /* Map a set of buffers described by SGLIST with NELEMS array * elements in streaming mode for PCI DMA. * When making changes here, inspect the assembly output. I was having - * hard time to kepp this routine out of using stack slots for holding variables. + * hard time to keep this routine out of using stack slots for holding variables. */ static int pci_4u_map_sg(struct pci_dev *pdev, struct scatterlist *sglist, int nelems, int direction) { diff --git a/arch/sparc64/kernel/pci_sun4v.c b/arch/sparc64/kernel/pci_sun4v.c index 34df404..044e8ec 100644 --- a/arch/sparc64/kernel/pci_sun4v.c +++ b/arch/sparc64/kernel/pci_sun4v.c @@ -731,7 +731,7 @@ struct pci_sun4v_msiq_entry { u64 msi_address; - /* The format of this value is message type dependant. + /* The format of this value is message type dependent. * For MSI bits 15:0 are the data from the MSI packet. * For MSI-X bits 31:0 are the data from the MSI packet. * For MSG, the message code and message routing code where: diff --git a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c index 8e3c6e4..952762b 100644 --- a/arch/sparc64/kernel/process.c +++ b/arch/sparc64/kernel/process.c @@ -677,7 +677,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long sp, * NOTE! Only a kernel-only process(ie the swapper or direct descendants * who haven't done an "execve()") should use this: it will work within * a system call from a "real" process, but the process memory space will - * not be free'd until both the parent and the child have exited. + * not be freed until both the parent and the child have exited. */ pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) { diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c index b7976b1..02830e4 100644 --- a/arch/sparc64/kernel/prom.c +++ b/arch/sparc64/kernel/prom.c @@ -899,7 +899,7 @@ static unsigned int fire_irq_build(struct device_node *dp, /* The interrupt map registers do not have an INO field * like other chips do. They return zero in the INO * field, and the interrupt controller number is controlled -* in bits 6 thru 9. So in order for build_irq() to get +* in bits 6 to 9. So in order for build_irq() to get * the INO right we pass it in as part of the fixup * which will get added to the map register zero value * read by build_irq(). diff --git a/arch/sparc64/mm/init.c b/arch/sparc64/mm/init.c index d7004ea..6e5b01d 100644 --- a/arch/sparc64/mm/init.c +++ b/arch/sparc64/mm/init.c @@ -1008,7 +1008,7 @@ static unsigned long __init bootmem_init(unsigned long *pages_avail, if (initrd_start) { size = initrd
[PATCH] spelling fixes: arch/um/
Spelling fixes in arch/um/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/um/drivers/line.c |2 +- arch/um/drivers/null.c |2 +- arch/um/drivers/stderr_console.c |2 +- arch/um/kernel/gmon_syms.c |4 ++-- arch/um/kernel/irq.c |2 +- arch/um/kernel/ptrace.c |2 +- arch/um/sys-i386/bug.c |2 +- arch/um/sys-i386/tls.c |2 +- arch/um/sys-x86_64/bug.c |2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c index ced9910..378d77b 100644 --- a/arch/um/drivers/line.c +++ b/arch/um/drivers/line.c @@ -41,7 +41,7 @@ static void line_timer_cb(struct work_struct *work) /* Returns the free space inside the ring buffer of this line. * - * Should be called while holding line->lock (this does not modify datas). + * Should be called while holding line->lock (this does not modify data). */ static int write_room(struct line *line) { diff --git a/arch/um/drivers/null.c b/arch/um/drivers/null.c index 9016c68..2f7fa51 100644 --- a/arch/um/drivers/null.c +++ b/arch/um/drivers/null.c @@ -8,7 +8,7 @@ #include "chan_user.h" #include "os.h" -/* This address is used only as a unique identifer */ +/* This address is used only as a unique identifier */ static int null_chan; static void *null_init(char *str, int device, const struct chan_opts *opts) diff --git a/arch/um/drivers/stderr_console.c b/arch/um/drivers/stderr_console.c index 9115392..5e8a0ba 100644 --- a/arch/um/drivers/stderr_console.c +++ b/arch/um/drivers/stderr_console.c @@ -7,7 +7,7 @@ /* trivial console driver -- simply dump everything to stderr */ /* - * Don't register by default -- as this registeres very early in the + * Don't register by default -- as this registers very early in the * boot process it becomes the default console. * * Initialized at init time. diff --git a/arch/um/kernel/gmon_syms.c b/arch/um/kernel/gmon_syms.c index 13aa115..734f873 100644 --- a/arch/um/kernel/gmon_syms.c +++ b/arch/um/kernel/gmon_syms.c @@ -12,8 +12,8 @@ EXPORT_SYMBOL(__bb_init_func); * versions in libgcov. * * Since SuSE backported the fix, we cannot handle it depending on GCC version. - * So, unconditinally export it. But also give it a weak declaration, which will - * be overriden by any other one. + * So, unconditionally export it. But also give it a weak declaration, which will + * be overridden by any other one. */ extern void __gcov_init(void *) __attribute__((weak)); diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index 8f2ed36..ba11446 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c @@ -364,7 +364,7 @@ void forward_interrupts(int pid) #endif /* - * do_IRQ handles all normal device IRQ's (the special + * do_IRQ handles all normal device IRQs (the special * SMP cross-CPU interrupts have their own specific * handlers). */ diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c index 627742d..7b7b584 100644 --- a/arch/um/kernel/ptrace.c +++ b/arch/um/kernel/ptrace.c @@ -268,7 +268,7 @@ void send_sigtrap(struct task_struct *tsk, union uml_pt_regs *regs, /* User-mode eip? */ info.si_addr = UPT_IS_USER(regs) ? (void __user *) UPT_IP(regs) : NULL; - /* Send us the fakey SIGTRAP */ + /* Send us the fake SIGTRAP */ force_sig_info(SIGTRAP, &info, tsk); } diff --git a/arch/um/sys-i386/bug.c b/arch/um/sys-i386/bug.c index 200c8ba..a4360b5 100644 --- a/arch/um/sys-i386/bug.c +++ b/arch/um/sys-i386/bug.c @@ -6,7 +6,7 @@ #include /* Mostly copied from i386/x86_86 - eliminated the eip < PAGE_OFFSET because - * that's not relevent in skas mode. + * that's not relevant in skas mode. */ int is_valid_bugaddr(unsigned long eip) diff --git a/arch/um/sys-i386/tls.c b/arch/um/sys-i386/tls.c index fea8e5e..719fa12 100644 --- a/arch/um/sys-i386/tls.c +++ b/arch/um/sys-i386/tls.c @@ -60,7 +60,7 @@ int do_get_thread_area_skas(struct user_desc *info) * XXX: Consider leaving one free slot for glibc usage at first place. This must * be done here (and by changing GDT_ENTRY_TLS_* macros) and nowhere else. * - * Also, this must be tested when compiling in SKAS mode with dinamic linking + * Also, this must be tested when compiling in SKAS mode with dynamic linking * and running against NPTL. */ static int get_free_idx(struct task_struct* task) diff --git a/arch/um/sys-x86_64/bug.c b/arch/um/sys-x86_64/bug.c index 200c8ba..a4360b5 100644 --- a/arch/um/sys-x86_64/bug.c +++ b/arch/um/sys-x86_64/bug.c @@ -6,7 +6,7 @@ #include /* Mostly copied from i386/x86_86 - eliminated the eip < PAGE_OFFSET because - * that's not relevent in skas mode. + * that's not relevant in skas mode. */ int is_valid_bugaddr(unsigned long eip) -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in th
[PATCH] spelling fixes: arch/v850/
Spelling fixes in arch/v850/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/v850/kernel/me2.c |4 ++-- arch/v850/kernel/rte_mb_a_pci.c |4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/v850/kernel/me2.c b/arch/v850/kernel/me2.c index 38be5c1..007115d 100644 --- a/arch/v850/kernel/me2.c +++ b/arch/v850/kernel/me2.c @@ -58,13 +58,13 @@ void __init me2_init_irqs (void) void me2_uart_pre_configure (unsigned chan, unsigned cflags, unsigned baud) { if (chan == 0) { - /* Specify that the relevent pins on the chip should do + /* Specify that the relevant pins on the chip should do serial I/O, not direct I/O. */ ME2_PORT1_PMC |= 0xC; /* Specify that we're using the UART, not the CSI device. */ ME2_PORT1_PFC |= 0xC; } else if (chan == 1) { - /* Specify that the relevent pins on the chip should do + /* Specify that the relevant pins on the chip should do serial I/O, not direct I/O. */ ME2_PORT2_PMC |= 0x6; /* Specify that we're using the UART, not the CSI device. */ diff --git a/arch/v850/kernel/rte_mb_a_pci.c b/arch/v850/kernel/rte_mb_a_pci.c index 35a4bd5..7165478 100644 --- a/arch/v850/kernel/rte_mb_a_pci.c +++ b/arch/v850/kernel/rte_mb_a_pci.c @@ -179,7 +179,7 @@ static int __devinit pcibios_init (void) default uses. */ /* Significant address bits used for decoding PCI GCS5 space - accessess. */ + accesses. */ MB_A_PCI_DMRR = ~(MB_A_PCI_MEM_SIZE - 1); /* I don't understand this, but the SolutionGear example code @@ -775,7 +775,7 @@ pci_alloc_consistent (struct pci_dev *pdev, size_t size, dma_addr_t *dma_addr) /* Free and unmap a consistent DMA buffer. CPU_ADDR and DMA_ADDR must be values that were returned from pci_alloc_consistent. SIZE must be the same as what as passed into pci_alloc_consistent. References to - the memory and mappings assosciated with CPU_ADDR or DMA_ADDR past + the memory and mappings associated with CPU_ADDR or DMA_ADDR past this call are illegal. */ void pci_free_consistent (struct pci_dev *pdev, size_t size, void *cpu_addr, -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: arch/x86_64/
Spelling fixes in arch/x86_64/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/x86_64/boot/compressed/misc.c |4 ++-- arch/x86_64/kernel/hpet.c |2 +- arch/x86_64/kernel/io_apic.c |4 ++-- arch/x86_64/kernel/mce.c |4 ++-- arch/x86_64/kernel/signal.c|2 +- arch/x86_64/kernel/smpboot.c |2 +- arch/x86_64/kernel/suspend.c |7 ++- arch/x86_64/kernel/traps.c |2 +- arch/x86_64/kernel/vsyscall.c |2 +- arch/x86_64/mm/fault.c |4 ++-- arch/x86_64/mm/srat.c |2 +- 11 files changed, 20 insertions(+), 15 deletions(-) diff --git a/arch/x86_64/boot/compressed/misc.c b/arch/x86_64/boot/compressed/misc.c index f932b0e..6ea015a 100644 --- a/arch/x86_64/boot/compressed/misc.c +++ b/arch/x86_64/boot/compressed/misc.c @@ -25,7 +25,7 @@ /* * Getting to provable safe in place decompression is hard. - * Worst case behaviours need to be analized. + * Worst case behaviours need to be analyzed. * Background information: * * The file layout is: @@ -94,7 +94,7 @@ * Adding 32768 instead of 32767 just makes for round numbers. * Adding the decompressor_size is necessary as it musht live after all * of the data as well. Last I measured the decompressor is about 14K. - * 10K of actuall data and 4K of bss. + * 10K of actual data and 4K of bss. * */ diff --git a/arch/x86_64/kernel/hpet.c b/arch/x86_64/kernel/hpet.c index b828696..85d914c 100644 --- a/arch/x86_64/kernel/hpet.c +++ b/arch/x86_64/kernel/hpet.c @@ -163,7 +163,7 @@ int hpet_arch_init(void) /* * hpet period is in femto seconds per cycle * so we need to convert this to ns/cyc units -* aproximated by mult/2^shift +* approximated by mult/2^shift * * fsec/cyc * 1nsec/100fsec = nsec/cyc = mult/2^shift * fsec/cyc * 1ns/100fsec * 2^shift = mult diff --git a/arch/x86_64/kernel/io_apic.c b/arch/x86_64/kernel/io_apic.c index d8bfe31..77be3b9 100644 --- a/arch/x86_64/kernel/io_apic.c +++ b/arch/x86_64/kernel/io_apic.c @@ -1710,7 +1710,7 @@ __setup("no_timer_check", notimercheck); /* * - * IRQ's that are handled by the PIC in the MPS IOAPIC case. + * IRQs that are handled by the PIC in the MPS IOAPIC case. * - IRQ2 is the cascade IRQ, and cannot be a io-apic IRQ. * Linux doesn't really care, as it's not actually used * for any interrupt handling anyway. @@ -1862,7 +1862,7 @@ void destroy_irq(unsigned int irq) } /* - * MSI mesage composition + * MSI message composition */ #ifdef CONFIG_PCI_MSI static int msi_compose_msg(struct pci_dev *pdev, unsigned int irq, struct msi_msg *msg) diff --git a/arch/x86_64/kernel/mce.c b/arch/x86_64/kernel/mce.c index a14375d..a401c63 100644 --- a/arch/x86_64/kernel/mce.c +++ b/arch/x86_64/kernel/mce.c @@ -298,7 +298,7 @@ void do_machine_check(struct pt_regs * regs, long error_code) #ifdef CONFIG_X86_MCE_INTEL /*** * mce_log_therm_throt_event - Logs the thermal throttling event to mcelog - * @cpu: The CPU on which the event occured. + * @cpu: The CPU on which the event occurred. * @status: Event status information * * This function should be called by the thermal interrupt after the @@ -573,7 +573,7 @@ static int __init mcheck_disable(char *str) return 1; } -/* mce=off disables machine check. Note you can reenable it later +/* mce=off disables machine check. Note you can re-enable it later using sysfs. mce=TOLERANCELEVEL (number, see above) mce=bootlog Log MCEs from before booting. Disabled by default on AMD. diff --git a/arch/x86_64/kernel/signal.c b/arch/x86_64/kernel/signal.c index 290f5d8..8f70782 100644 --- a/arch/x86_64/kernel/signal.c +++ b/arch/x86_64/kernel/signal.c @@ -411,7 +411,7 @@ static void do_signal(struct pt_regs *regs) signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - /* Reenable any watchpoints before delivering the + /* Re-enable any watchpoints before delivering the * signal to user space. The processor register will * have been cleared if the watchpoint triggered * inside the kernel. diff --git a/arch/x86_64/kernel/smpboot.c b/arch/x86_64/kernel/smpboot.c index 32f5078..c4b904d 100644 --- a/arch/x86_64/kernel/smpboot.c +++ b/arch/x86_64/kernel/smpboot.c @@ -359,7 +359,7 @@ void __cpuinit start_secondary(void) /* * We need to hold call_lock, so there is no inconsistency * between the time smp_call_function() determines number of -* IPI receipients, and the time when the determination is made +* IPI recipients, and the time when the determination is made * for which cpus receive the IPI in genapic_flat.c. Holding this * lock helps us to not include this cpu in a currently in progress * smp_call_function(). diff --git a/arch/x86_64/kernel/suspend.c b/
[PATCH] spelling fixes: arch/xtensa/
Spelling fixes in arch/xtensa/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- arch/xtensa/kernel/pci.c |2 +- arch/xtensa/mm/init.c |2 +- arch/xtensa/platform-iss/network.c |2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/xtensa/kernel/pci.c b/arch/xtensa/kernel/pci.c index 45571cc..77deae5 100644 --- a/arch/xtensa/kernel/pci.c +++ b/arch/xtensa/kernel/pci.c @@ -401,7 +401,7 @@ int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, * Also, think for a moment about likes of floppy.c that * include architecture specific parts. They may want to redefine ins/outs. * - * We do not use horroble macroses here because we want to + * We do not use horrible macros here because we want to * advance pointer by sizeof(size). */ void outsb(unsigned long addr, const void *src, unsigned long count) { diff --git a/arch/xtensa/mm/init.c b/arch/xtensa/mm/init.c index e1ec2d1..8415c76 100644 --- a/arch/xtensa/mm/init.c +++ b/arch/xtensa/mm/init.c @@ -205,7 +205,7 @@ void __init init_mmu (void) /* Writing zeros to the TLBCFG special registers ensure * that valid values exist in the register. For existing * PGSZID fields, zero selects the first element of the -* page-size array. For nonexistant PGSZID fields, zero is +* page-size array. For nonexistent PGSZID fields, zero is * the best value to write. Also, when changing PGSZID * fields, the corresponding TLB must be flushed. */ diff --git a/arch/xtensa/platform-iss/network.c b/arch/xtensa/platform-iss/network.c index 4bfe333..f09962f 100644 --- a/arch/xtensa/platform-iss/network.c +++ b/arch/xtensa/platform-iss/network.c @@ -473,7 +473,7 @@ static int iss_net_open(struct net_device *dev) netif_start_queue(dev); /* clear buffer - it can happen that the host side of the interface -* is full when we gethere. In this case, new data is never queued, +* is full when we get here. In this case, new data is never queued, * SIGIOs never arrive, and the net never works. */ while ((err = iss_net_rx(dev)) > 0) -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: Documentation/
Spelling fixes in Documentation/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- Documentation/DocBook/Makefile |2 +- Documentation/DocBook/mtdnand.tmpl |6 +++--- Documentation/feature-removal-schedule.txt |2 +- Documentation/isdn/README.concap |2 +- Documentation/networking/ip-sysctl.txt |2 +- Documentation/thinkpad-acpi.txt|6 +++--- Documentation/usb/usb-serial.txt |2 +- 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index 6fd1646..005a6af 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile @@ -165,7 +165,7 @@ quiet_cmd_db2man = MAN $@ @touch $@ ### -# Rules to generate postscripts and PNG imgages from .fig format files +# Rules to generate postscripts and PNG images from .fig format files quiet_cmd_fig2eps = FIG2EPS $@ cmd_fig2eps = fig2dev -Leps $< $@ diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index a8c8cce..05c8643 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl @@ -285,7 +285,7 @@ int __init board_init (void) /* Initialize structures */ memset ((char *) board_mtd, 0, sizeof(struct mtd_info) + sizeof(struct nand_chip)); - /* map physical adress */ + /* map physical address */ baseaddr = (unsigned long)ioremap(CHIP_PHYSICAL_ADDRESS, 1024); if(!baseaddr){ printk("Ioremap to access NAND chip failed\n"); @@ -309,7 +309,7 @@ int __init board_init (void) this->dev_ready = board_dev_ready; this->eccmode = NAND_ECC_SOFT; - /* Scan to find existance of the device */ + /* Scan to find existence of the device */ if (nand_scan (board_mtd, 1)) { err = -ENXIO; goto out_ior; @@ -343,7 +343,7 @@ static void __exit board_cleanup (void) /* Release resources, unregister device */ nand_release (board_mtd); - /* unmap physical adress */ + /* unmap physical address */ iounmap((void *)baseaddr); /* Free the MTD device structure */ diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index c6322c7..7c12c1f 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt @@ -289,7 +289,7 @@ Why:Code was merged, then submitter immediately disappeared leaving (interfaces don't return errors so memory allocation can't be handled, calling contexts of these interfaces make handling errors impossible too because they get called after we've - totally commited to creating a route object, for example). + totally committed to creating a route object, for example). This problem has existed for years and no forward progress has ever been made, and nobody steps up to try and salvage this code, so we're going to finally just get rid of it. diff --git a/Documentation/isdn/README.concap b/Documentation/isdn/README.concap index 2f114ba..a76d748 100644 --- a/Documentation/isdn/README.concap +++ b/Documentation/isdn/README.concap @@ -111,7 +111,7 @@ struct concap_proto_ops{ struct concap_proto * (*proto_new) (void); /* delete encapsulation protocol instance and free all its resources. - cprot may no loger be referenced after calling this */ + cprot may no longer be referenced after calling this */ void (*proto_del)(struct concap_proto *cprot); /* initialize the protocol's data. To be called at interface startup diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt index af6a63a..83d48c4 100644 --- a/Documentation/networking/ip-sysctl.txt +++ b/Documentation/networking/ip-sysctl.txt @@ -286,7 +286,7 @@ tcp_no_metrics_save - BOOLEAN when the connection closes, so that connections established in the near future can use these to set initial conditions. Usually, this increases overall performance, but may sometimes cause performance - degredation. If set, TCP will not cache metrics on closing + degradation. If set, TCP will not cache metrics on closing connections. tcp_orphan_retries - INTEGER diff --git a/Documentation/thinkpad-acpi.txt b/Documentation/thinkpad-acpi.txt index 2d48033..8e246c3 100644 --- a/Documentation/thinkpad-acpi.txt +++ b/Documentation/thinkpad-acpi.txt @@ -251,7 +251,7 @@ Sysfs notes: 0: disables Bluetooth / Bluetooth is disabled 1: enables Bluetooth / Bluetooth is enabled. - Note: this interface will be probably be superseeded by the + Note: this interface will be probably be superseded by the generic rfkill class. Video output control -- /p
[PATCH] spelling fixes: kernel/
Spelling fixes in kernel/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- kernel/acct.c |2 +- kernel/compat.c |2 +- kernel/cpuset.c |2 +- kernel/delayacct.c|2 +- kernel/fork.c |2 +- kernel/futex.c|2 +- kernel/futex_compat.c |2 +- kernel/irq/chip.c |4 ++-- kernel/irq/handle.c |6 +++--- kernel/irq/manage.c |2 +- kernel/irq/migration.c|2 +- kernel/irq/resend.c |2 +- kernel/kallsyms.c |2 +- kernel/kexec.c| 10 +- kernel/kfifo.c|2 +- kernel/kmod.c |2 +- kernel/kprobes.c |2 +- kernel/kthread.c |2 +- kernel/latency.c |2 +- kernel/module.c |2 +- kernel/posix-timers.c |4 ++-- kernel/power/snapshot.c |2 +- kernel/sched.c| 20 ++-- kernel/softirq.c |2 +- kernel/taskstats.c|2 +- kernel/time.c |2 +- kernel/time/clocksource.c |2 +- kernel/time/jiffies.c |2 +- 28 files changed, 45 insertions(+), 45 deletions(-) diff --git a/kernel/acct.c b/kernel/acct.c index 70d0d88..0b0acb2 100644 --- a/kernel/acct.c +++ b/kernel/acct.c @@ -25,7 +25,7 @@ * XTerms and EMACS are manifestations of pure evil. 21/10/98, AV. * * Fixed a nasty interaction with with sys_umount(). If the accointing - * was suspeneded we failed to stop it on umount(). Messy. + * was suspended we failed to stop it on umount(). Messy. * Another one: remount to readonly didn't stop accounting. * Question: what should we do if we have CAP_SYS_ADMIN but not * CAP_SYS_PACCT? Current code does the following: umount returns -EBUSY diff --git a/kernel/compat.c b/kernel/compat.c index cebb4c2..c5e0c1a 100644 --- a/kernel/compat.c +++ b/kernel/compat.c @@ -1,7 +1,7 @@ /* * linux/kernel/compat.c * - * Kernel compatibililty routines for e.g. 32 bit syscall support + * Kernel compatibility routines for e.g. 32 bit syscall support * on 64 bit kernels. * * Copyright (C) 2002-2003 Stephen Rothwell, IBM Corporation diff --git a/kernel/cpuset.c b/kernel/cpuset.c index f57854b..35c8c6f 100644 --- a/kernel/cpuset.c +++ b/kernel/cpuset.c @@ -855,7 +855,7 @@ static int update_cpumask(struct cpuset *cs, char *buf) * *Migrate memory region from one set of nodes to another. * - *Temporarilly set tasks mems_allowed to target nodes of migration, + *Temporarily set tasks mems_allowed to target nodes of migration, *so that the migration code can allocate pages on these nodes. * *Call holding manage_mutex, so our current->cpuset won't change diff --git a/kernel/delayacct.c b/kernel/delayacct.c index c0148ae..1fc6316 100644 --- a/kernel/delayacct.c +++ b/kernel/delayacct.c @@ -54,7 +54,7 @@ static inline void delayacct_start(struct timespec *start) /* * Finish delay accounting for a statistic using - * its timestamps (@start, @end), accumalator (@total) and @count + * its timestamps (@start, @end), accumulator (@total) and @count */ static void delayacct_end(struct timespec *start, struct timespec *end, diff --git a/kernel/fork.c b/kernel/fork.c index 5dd3979..f9f5ee4 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -712,7 +712,7 @@ static struct files_struct *dup_fd(struct files_struct *oldf, int *errorp) /* * The fd may be claimed in the fd bitmap but not yet * instantiated in the files array if a sibling thread -* is partway through open(). So make sure that this +* is part way through open(). So make sure that this * fd is available to the new process. */ FD_CLR(open_files - i, new_fdt->open_fds); diff --git a/kernel/futex.c b/kernel/futex.c index b7ce15c..9c1ba51 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -1506,7 +1506,7 @@ static int futex_wait(u32 __user *uaddr, struct rw_semaphore *fshared, hrtimer_cancel(&t.timer); - /* Flag if a timeout occured */ + /* Flag if a timeout occurred */ rem = (t.task == NULL); } } diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c index 338a9b4..5625c24 100644 --- a/kernel/futex_compat.c +++ b/kernel/futex_compat.c @@ -1,7 +1,7 @@ /* * linux/kernel/futex_compat.c * - * Futex compatibililty routines. + * Futex compatibility routines. * * Copyright 2006, Red Hat, Inc., Ingo Molnar */ diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index 615ce97..32b4a55 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -431,8 +431,8 @@ out: * @irq: the interrupt number * @desc: the interrupt description structure for this irq * - * Interrupt occures on the falli
[PATCH] spelling fixes: mm/
Spelling fixes in mm/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- mm/filemap.h|2 +- mm/hugetlb.c|2 +- mm/memory.c |2 +- mm/memory_hotplug.c |2 +- mm/mempool.c|2 +- mm/page-writeback.c |2 +- mm/page_alloc.c |8 mm/prio_tree.c |2 +- mm/readahead.c |8 mm/slab.c |6 +++--- mm/slub.c |2 +- mm/sparse.c |4 ++-- mm/swap.c |2 +- mm/vmalloc.c|6 +++--- mm/vmscan.c |2 +- 15 files changed, 26 insertions(+), 26 deletions(-) diff --git a/mm/filemap.h b/mm/filemap.h index c2bff04..bfa76e1 100644 --- a/mm/filemap.h +++ b/mm/filemap.h @@ -22,7 +22,7 @@ __filemap_copy_from_user_iovec_inatomic(char *vaddr, /* * Copy as much as we can into the page and return the number of bytes which - * were sucessfully copied. If a fault is encountered then clear the page + * were successfully copied. If a fault is encountered then clear the page * out to (offset+bytes) and return the number of bytes which were copied. * * NOTE: For this to work reliably we really want copy_from_user_inatomic_nocache diff --git a/mm/hugetlb.c b/mm/hugetlb.c index eb7180d..f74f432 100644 --- a/mm/hugetlb.c +++ b/mm/hugetlb.c @@ -743,7 +743,7 @@ static long region_chg(struct list_head *head, long f, long t) /* If we are below the current region then a new region is required. * Subtle, allocate a new region at the position but make it zero -* size such that we can guarentee to record the reservation. */ +* size such that we can guarantee to record the reservation. */ if (&rg->link == head || t < rg->from) { nrg = kmalloc(sizeof(*nrg), GFP_KERNEL); if (nrg == 0) diff --git a/mm/memory.c b/mm/memory.c index 1d647ab..eaa3ddb 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2783,7 +2783,7 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in return 0; down_read(&mm->mmap_sem); - /* ignore errors, just check how much was sucessfully transfered */ + /* ignore errors, just check how much was successfully transferred */ while (len) { int bytes, ret, offset; void *maddr; diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 8427912..bcd9841 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c @@ -118,7 +118,7 @@ int __add_pages(struct zone *zone, unsigned long phys_start_pfn, err = __add_section(zone, i << PFN_SECTION_SHIFT); /* -* EEXIST is finally dealed with by ioresource collision +* EEXIST is finally dealt with by ioresource collision * check. see add_memory() => register_memory_resource() * Warning will be printed if there is collision. */ diff --git a/mm/mempool.c b/mm/mempool.c index cc1ca86..37570cb 100644 --- a/mm/mempool.c +++ b/mm/mempool.c @@ -297,7 +297,7 @@ EXPORT_SYMBOL(mempool_free_slab); /* * A commonly used alloc and free fn that kmalloc/kfrees the amount of memory - * specfied by pool_data + * specified by pool_data */ void *mempool_kmalloc(gfp_t gfp_mask, void *pool_data) { diff --git a/mm/page-writeback.c b/mm/page-writeback.c index 63cd888..059d56e 100644 --- a/mm/page-writeback.c +++ b/mm/page-writeback.c @@ -790,7 +790,7 @@ int __set_page_dirty_no_writeback(struct page *page) * mapping is pinned by the vma's ->vm_file reference. * * We take care to handle the case where the page was truncated from the - * mapping by re-checking page_mapping() insode tree_lock. + * mapping by re-checking page_mapping() inside tree_lock. */ int __set_page_dirty_nobuffers(struct page *page) { diff --git a/mm/page_alloc.c b/mm/page_alloc.c index ae96dd8..e3699e8 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -107,7 +107,7 @@ static unsigned long __meminitdata dma_reserve; #ifdef CONFIG_ARCH_POPULATES_NODE_MAP /* - * MAX_ACTIVE_REGIONS determines the maxmimum number of distinct + * MAX_ACTIVE_REGIONS determines the maximum number of distinct * ranges of memory (RAM) that may be registered with add_active_range(). * Ranges passed to add_active_range() will be merged if possible * so the number of times add_active_range() can be called is @@ -1031,7 +1031,7 @@ int zone_watermark_ok(struct zone *z, int order, unsigned long mark, * skip over zones that are not allowed by the cpuset, or that have * been recently (in last second) found to be nearly full. See further * comments in mmzone.h. Reduces cache footprint of zonelist scans - * that have to skip over alot of full or unallowed zones. + * that have to skip over a lot of full or unallowed zones. * * If the zonelist cache is present in the passed in zonelist, then * returns a pointer to the allowed node mask (either the c
[PATCH] spelling fixes: init/
Spelling fix in init/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- init/main.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/init/main.c b/init/main.c index e8d080c..7ee2031 100644 --- a/init/main.c +++ b/init/main.c @@ -275,7 +275,7 @@ static int __init unknown_bootoption(char *param, char *val) return 0; /* -* Preemptive maintenance for "why didn't my mispelled command +* Preemptive maintenance for "why didn't my misspelled command * line work?" */ if (strchr(param, '.') && (!val || strchr(param, '.') < val)) { -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH] spelling fixes: lib/
Spelling fix in lib/. Signed-off-by: Simon Arlott <[EMAIL PROTECTED]> --- lib/kernel_lock.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/lib/kernel_lock.c b/lib/kernel_lock.c index e0fdfdd..f73e2f8 100644 --- a/lib/kernel_lock.c +++ b/lib/kernel_lock.c @@ -2,7 +2,7 @@ * lib/kernel_lock.c * * This is the traditional BKL - big kernel lock. Largely - * relegated to obsolescense, but used by various less + * relegated to obsolescence, but used by various less * important (or lazy) subsystems. */ #include -- 1.5.0.1 -- Simon Arlott - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/