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

    Karsten Keil
     
  • 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

    Karsten Keil
     

17 Oct, 2007

4 commits


16 Oct, 2007

2 commits


15 Oct, 2007

3 commits


14 Oct, 2007

1 commit


13 Oct, 2007

1 commit


12 Oct, 2007

6 commits


11 Oct, 2007

3 commits

  • Signed-off-by: Karsten Keil
    Signed-off-by: David S. Miller

    Karsten Keil
     
  • 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

    Stephen Hemminger
     
  • 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

    Eric W. Biederman
     

09 Oct, 2007

1 commit


27 Aug, 2007

1 commit


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

    Martin Bachem
     

01 Aug, 2007

1 commit


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

    Jan Engelhardt
     
  • 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

    Jan Engelhardt
     
  • 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

    Tilman Schmidt
     

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.o

    Rename the former.

    Signed-off-by: Alexey Dobriyan
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

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

    Florin Malita
     

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

    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

    Jeff Garzik
     
  • No behavior changes, just code movement. Prep for PCI hotplug API.

    Signed-off-by: Jeff Garzik

    Jeff Garzik
     
  • No behavior changes, just code movement. Prep for PCI hotplug API.

    Signed-off-by: Jeff Garzik

    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

    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

    Jeff Garzik
     
  • No behavior changes, just code movement.

    Signed-off-by: Jeff Garzik

    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 card

    Signed-off-by: Eric Sesterhenn
    Acked-by: Armin Schindler
    Cc: Karsten Keil
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Armin Schindler
     
  • drivers/isdn/capi/capi.c: In function 'handle_minor_send':
    drivers/isdn/capi/capi.c:552: warning: cast from pointer to integer of different size

    Of 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

    Andrew Morton