19 Oct, 2007
2 commits
-
The patch
- Includes the call to capilib_data_b3_req in the spinlock. This routine
in turn calls the offending mq_enqueue routine that triggered the
freeze if not locked. This should also fix other indicators of
incosistent capilib_msgidqueue list, that trigger messages like:
Oct 5 03:05:57 BERL0 kernel: kcapi: msgid 3019 ncci 0x30301 not on queue
that we saw several times a day (usually several in a row).
- Fixes all occurrences of c4_dispatch_tx to be called with active
spinlock, there were some instances where no lock was active. Mostly
these are in very infrequently called routines, so the additional
performance penalty is minimal.Signed-off-by: Karsten Keil
Signed-off-by: Rainer Brestan
Signed-off-by: Ralf Schlatterbeck
Cc:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
This fix the same issue which was debbuged for the C4 controller for the B1
versions.The capilib_ function modify or traverse a linked list without locking.
This patch extends the existing locking to the calls of these function to
prevent access to a list which is in the middle of a modification.Signed-off-by: Karsten Keil
C:
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Oct, 2007
4 commits
-
In drivers/isdn/capi/kcapi.c::old_capi_manufacturer(), if the call to
get_capi_ctr_by_nr(ldef.contr); in line 823 returns NULL, then we'll be
dereferencing a NULL pointer in the very next line.(Found by Coverity checker as bug #402)
Signed-off-by: Jesper Juhl
Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
If we fail to allocate an skb in
drivers/isdn/capi/capidrv.c::send_message(), then we'll end up
dereferencing a NULL pointer.
Since out of memory conditions are not unheard of, I believe it
is better to print a error message and just return rather than
bring down the whole kernel.
Sure, doing this may upset some application, but that's still
better than crashing the whole system.Signed-off-by: Jesper Juhl
Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
The ISDN subsystem common functions use a semaphore as mutex. Use the
mutex API instead of the (binary) semaphore.Signed-off-by: Matthias Kaehlcke
Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Remove pointless taking of spinlock around reading a single pointer-sized
or smaller variable.Signed-off-by: Tilman Schmidt
Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
16 Oct, 2007
2 commits
-
On Mon, Oct 15, 2007 at 06:44:56PM +0400, Denis V. Lunev wrote:
Compilation fix. The problem appears after
7c076d1de869256848dacb8de0050a3a390f95df by Karsten KeilAcked-by: Karsten Keil
Signed-off-by: Denis V. Lunev
Signed-off-by: David S. Miller -
Signed-off-by: Karsten Keil
Signed-off-by: David S. Miller
15 Oct, 2007
3 commits
-
- killed paranoid NULL Pointer check
- human readable LED states
- support for "Eicon DIVA USB 4.0" (0x071d/0x1005)Signed-off-by: Martin Bachem
Signed-off-by: Linus Torvalds -
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds -
deal with signedness of the stuff passed to set_bit() et.al.
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
14 Oct, 2007
1 commit
-
... and yes, caller wants it to return int.
Signed-off-by: Al Viro
Signed-off-by: Linus Torvalds
13 Oct, 2007
1 commit
-
* 'isdn-cleanups' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6:
[ISDN] HiSax diva: split setup into three smaller functions
[ISDN] HiSax sedlbauer: move ISAPNP and PCI code into functions of their own
[ISDN] HiSax elsa: split huge setup function into four smaller functions
[ISDN] HiSax avm_pci: split setup into three smaller functions
[ISDN] Remove CONFIG_PCI ifdefs from 100% PCI source code
12 Oct, 2007
6 commits
-
Just code movement, and the glue to call the new functions.
Preparation for hotplug APIs.
Signed-off-by: Jeff Garzik
-
Prep for hotplug API conversion. Just code movement (+glue).
Signed-off-by: Jeff Garzik
-
Prep for hotplug API conversion. Just code movement (+glue).
Signed-off-by: Jeff Garzik
-
Preparation for new ISA/PNP/PCI APIs.
Just code movement, and the glue to call the new functions.
Signed-off-by: Jeff Garzik
-
Signed-off-by: Jeff Garzik
-
Signed-off-by: Jeff Garzik
11 Oct, 2007
3 commits
-
Signed-off-by: Karsten Keil
Signed-off-by: David S. Miller -
Since hardware header operations are part of the protocol class
not the device instance, make them into a separate object and
save memory.Signed-off-by: Stephen Hemminger
Signed-off-by: David S. Miller -
This patch makes /proc/net per network namespace. It modifies the global
variables proc_net and proc_net_stat to be per network namespace.
The proc_net file helpers are modified to take a network namespace argument,
and all of their callers are fixed to pass &init_net for that argument.
This ensures that all of the /proc/net files are only visible and
usable in the initial network namespace until the code behind them
has been updated to be handle multiple network namespaces.Making /proc/net per namespace is necessary as at least some files
in /proc/net depend upon the set of network devices which is per
network namespace, and even more files in /proc/net have contents
that are relevant to a single network namespace.Signed-off-by: Eric W. Biederman
Signed-off-by: David S. Miller
09 Oct, 2007
1 commit
-
Fix against access random data bytes outside the dev->chanmap array.
Thanks to Oliver Neukum for pointing me to this issue.Signed-off-by: Karsten Keil
Signed-off-by: Linus Torvalds
27 Aug, 2007
1 commit
-
vmalloc() returns a void pointer - no need to cast the return value.
Signed-off-by: Jesper Juhl
Signed-off-by: David S. Miller
22 Aug, 2007
1 commit
-
This fixes handling of USB ISO completion error -EXDEV and includes
several other changes to current CVS version at isdn4linux.de (changes
in debug flags, style of code remarks, etc)Signed-off-by: Martin Bachem
Acked-by: Karsten Keil
Signed-off-by: Linus Torvalds
01 Aug, 2007
1 commit
-
Move the #ifdef guard above these functions to remove the warnings.
Signed-off-by: Charlie Shepherd
Cc: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
22 Jul, 2007
3 commits
-
Change Kconfig objects from "menu, config" into "menuconfig" so that the user
can disable the whole feature without having to enter the menu first.Signed-off-by: Jan Engelhardt
Cc: Tilman Schmidt
Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Unclutter the ISDN menu a tiny bit by moving ISDN4Linux and the CAPI2.0
layers into their own menu.Signed-off-by: Jan Engelhardt
Cc: Tilman Schmidt
Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Remove a menu statement and several dependencies from the Kconfig files in
the drivers/isdn tree as they have become unnecessary by the transformation
of CONFIG_ISDN from "menu, config" into "menuconfig".
(Modified version of a patch originally proposed by Jan Engelhardt.)Signed-off-by: Tilman Schmidt
Cc: Jan Engelhardt
Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
20 Jul, 2007
1 commit
-
There is check_reset() -- global function in drivers/isdn/sc/
There is check_reset -- variable holding module param in aacraid driver.On allyesconfig they clash with:
LD drivers/built-in.o
drivers/isdn/built-in.o: In function `check_reset':
: multiple definition of `check_reset'
drivers/scsi/built-in.o:(.data+0xe458): first defined here
ld: Warning: size of symbol `check_reset' changed from 4 in drivers/scsi/built-in.o to 219 in drivers/isdn/built-in.o
ld: Warning: type of symbol `check_reset' changed from 1 to 2 in drivers/isdn/built-in.oRename the former.
Signed-off-by: Alexey Dobriyan
Cc: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
19 Jul, 2007
1 commit
-
Coverity (1792) spotted a possibly uninitialized return value in case of
kmalloc() failure:1116 static int hisax_cs_setup(int cardnr, struct IsdnCard *card,
1117 struct IsdnCardState *cs)
1119 int ret;
1120
1121 if (!(cs->rcvbuf = kmalloc(MAX_DFRAME_LEN_L1, GFP_ATOMIC))) {
1122 printk(KERN_WARNING "HiSax: No memory for isac rcvbuf\n");
1123 ll_unload(cs);
1124 goto outf_cs;
...
1165 outf_cs:
1166 kfree(cs);
1167 card->cs = NULL;
1168 return ret;The straightforward solution would be to just add the missing
initialization but hardcoding the return value in the out_cs branch
(only taken on failure) seems to work just as well and it allows killing
a couple of other lines too.Signed-off-by: Florin Malita
Signed-off-by: Jeff Garzik
18 Jul, 2007
9 commits
-
* trim trailing whitespace
* remove CONFIG_PCI ifdefs, this driver is always PCI (Kconfig enforced)
* remove return statements at the tail of a function
* remove indentation levels by returning an error code immediately.
Makes the code much more readable, and easier to update to PCI hotplug
API.Signed-off-by: Jeff Garzik
-
No behavior changes, just code movement. Prep for PCI hotplug API.
Well, CONFIG_PCI useless ifdef was removed.
Signed-off-by: Jeff Garzik
-
No behavior changes, just code movement. Prep for PCI hotplug API.
Signed-off-by: Jeff Garzik
-
No behavior changes, just code movement. Prep for PCI hotplug API.
Signed-off-by: Jeff Garzik
-
1) Remove CONFIG_PCI ifdefs. PCI is required in Kconfig.
2) Break up setup_netjet_s() into three separate internal functions.
This helps facilitate upcoming use of PCI hotplug API, and in addition
makes the code much easier to follow.No code is changed, just moved around. I even kept the out-of-favor
"return(0)" style used in the current source code.Signed-off-by: Jeff Garzik
-
Just code movement. No code changes or cleanups besides that which
is required to call the new functions from the old code site.Signed-off-by: Jeff Garzik
-
No behavior changes, just code movement.
Signed-off-by: Jeff Garzik
-
coverity spotted a possible leak in the idifunc.c file (bug id #1252), in
um_new_card(), if the diva_user_mode_idi_create_adapter() fails, we dont
free the memory allocated for cardSigned-off-by: Eric Sesterhenn
Acked-by: Armin Schindler
Cc: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
drivers/isdn/capi/capi.c: In function 'handle_minor_send':
drivers/isdn/capi/capi.c:552: warning: cast from pointer to integer of different sizeOf course, the code here might actually be buggy, in which case this patch
should not be applied?Answer:
No this field is ignored inside linux kernel.Yes this is ugly, but it's
the CAPI spec for all OS.CAPI DATA_B3 Request/Indication CAPI Message has a mandatory field which
represent the 32 bit buffer address of the payload data. In linux the
payload data do not use a sperate buffer, data follows directely after the
CAPI Message in the same skb and we use this assumption inside the drivers,
so we can ignore this field.Inside the linux CAPI implemetation we never use this field, so it could
also have no value, but since random data in a message is bad as well (e.g.
displayed in CAPI traces) we set is to the most adequate value.Outside the kernel the capi20 library sets the correct addresses (there is
an optional second field for 64 bit adresses for 64 bit systems, we do not
use here).Acked-by: Karsten Keil
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds