- 29 Oct, 2002 34 commits
-
-
Kai Germaschewski authored
For some reason, isdnloop didn't support the transparent encoding, which is necessary for testing V.110. Testing also found a typo causing an oops in isdn_common.c. Fixed.
-
Kai Germaschewski authored
It'd probably make more sense to provide it in library form to the hardware drivers which don't support V.110 natively, but for now it's at least collected in one place.
-
Kai Germaschewski authored
Remove the legacy functions isdn_slot_readbchan(int slot, u_char *, u_char *, int); isdn_slot_driver(int slot); isdn_slot_channel(int slot); isdn_slot_set_usage(int slot, int usage); isdn_drv_writebuf_skb(int di, int ch, int x, struct sk_buff *skb); isdn_drv_hdrlen(int di); Most of their tasks have been taken over by isdn_common.c, or are obsoleted by using the isdn_slot based approach.
-
Kai Germaschewski authored
Moving the tty receive queue into the tty-specific data in fact simplifies the common code (which doesn't need to know it at all, now), and the tty code, which can access the queue more directly.
-
Kai Germaschewski authored
We used to intercept status callbacks which were for specific channels instead of the driver before passing them to the driver and short-cutting to them to the per-channel state machine. Do it correctly for now, i.e. callback -> driver -> channel, even though that might have a small performance hit. Correctness first.
-
Kai Germaschewski authored
ISDN still has a huge global struct called "dev", which is a mess of parts which should be private to their respective subsystem. It's supposed to die, this is another step in making that happen.
-
Kai Germaschewski authored
Change the incoming call logic: Incoming calls are signalled to the net interface code first, then the tty code. It's the lower level's responsibility to claim the call by issueing ISDN_CMD_ACCEPTD now. Remove some crud which is handled by isdn_common state machines now.
-
Kai Germaschewski authored
They were never used except for passing the state to userspace, but not used in any application I know of. If necessary, the information can easily be recovered by looking at fi.state == ST_ACTIVE
-
Kai Germaschewski authored
-
Kai Germaschewski authored
It wasn't used in any actual hardware driver, nor did it cause any action at all.
-
Kai Germaschewski authored
-
Kai Germaschewski authored
It was never used anywhere (except for debugging output). Also, fix some compiler warnings.
-
Kai Germaschewski authored
Since we unfortunately cannot rely on the hardware drivers to get their states always correct, have the common layer keep track of the states and sanitize them before passing them on to applications as network interfaces / ttyIs.
-
Kai Germaschewski authored
We know the driver ids via drivers[]->interface->id already, no need to keep them around a second time.
-
Kai Germaschewski authored
It's useless information, we need to iterate over all potential drivers anyway, since possibly the first one has unregistered before the second, leaving a hole.
-
Kai Germaschewski authored
... and move up the function register_isdn().
-
Kai Germaschewski authored
Currently, we need to provide a couple of helper functions to avoid breaking isdn_tty with this change, as that gets cleaned up, the need for those helpers should vanish as well.
-
Kai Germaschewski authored
read() should be safe against missed wake-ups now. These devices should actually be implemented by the hardware drivers directly, would make for much cleaner code. Unfortunately, isdnctrl is using /dev/isdnctrl for the common ioctls, which are handled by the link layer, so that's not easily possible. Too bad.
-
Kai Germaschewski authored
This was broken by removing the CVS revision strings.
-
Kai Germaschewski authored
The arrays were only allocated and initialized, never used.
-
Kai Germaschewski authored
Interface type specific stuff is now gone from isdn_net_lib and taken care of in the individual interface type modules.
-
Kai Germaschewski authored
This is just simple renaming. However, ISDN/X.25 looks currently rather badly broken, don't expect it to compile ;(
-
Kai Germaschewski authored
There's really no need to allocate private storage for all possible interface types, just leave it to the interface type to alloc the memory it needs. CISCO HDLC does that, now.
-
Kai Germaschewski authored
-
Kai Germaschewski authored
isdn_net_dev and isdn_net_local logically are used by isdn_net_lib, so let's move them there.
-
Kai Germaschewski authored
They'll still get compiled all into one module, but now you can choose what you need - it's not hard to go from here to individual modules, but most protocol-specific code is so small that it's probably not worth it.
-
Kai Germaschewski authored
-
Kai Germaschewski authored
Though I've been mostly moving stuff out of include/linux and into drivers/isdn/i4l, the finite state machine definitions actually need to be more wildly accessible, so they go the opposite way.
-
Kai Germaschewski authored
Just add the protocol number header to the frame and have MPPP deal with the entire frame, separating these layers more cleanly.
-
Kai Germaschewski authored
The revision numbers didn't get updated in ages, so they don't really make sense anymore.
-
Kai Germaschewski authored
Updating copyright lines, deleting the CVS $Id lines, move PPP CCP reset related declarations into drivers/isdn/i4l/isdn_ppp_ccp.c.
-
Kai Germaschewski authored
Dropping every 7th packet was just meant for internal debugging...
-
Kai Germaschewski authored
Whoever did the tqueue -> workqueue changes didn't really care to look at how it was used in the HiSax driver, making the driver compile but oops with NULL pointer derefs. Oh, and workqueues are really not the right solution here, tasklets are. But that's for later.
-
Kai Germaschewski authored
The reset routines are not called concurrently with other call paths, and holding a spinlock over schedule_timeout() is plain wrong anyway. Unfortunately, there's still quite a lot of cli() etc left, which however are not so easy to kill since they protect IRQ handlers against filling the tx queue, but don't even live in the same file.
-
- 28 Oct, 2002 6 commits
-
-
Kai Germaschewski authored
Patches by Frank Davis.
-
Kai Germaschewski authored
into tp1.ruhr-uni-bochum.de:/home/kai/src/kernel/v2.5/linux-2.5.isdn
-
Linus Torvalds authored
-
Andrew Morton authored
From Dipankar I missed sparc64 when I broke up read_barrier_depends in -mm and sent to Linus. Please apply this to your tree until Linus is back and I can fix it.
-
Andrew Morton authored
Patch from Dipankar Sarma <dipankar@in.ibm.com> There is a check in RCU for idle CPUs which signifies quiescent state (and hence no reference to RCU protected data) which was broken when interrupt counters were changed to use thread_info->preempt_count. Martin's 32 CPU machine with many idle CPUs was not completing any RCU grace period because RCU was forever waiting for idle CPUs to context switch. Had the idle check worked, this would not have happened. With no RCU happening, the dentries were getting "freed" (dentry stats showing that) but not getting returned to slab. This would not show up in systems that are generally busy as context switches then would happen in all CPUs and the per-CPU quiescent state counter would get incremented during context switch.
-
Andrew Morton authored
This patch fixes a filesystem corrupting bug, present in 2.5.41 through 2.5.44. It can cause ext2 indirect blocks to not be written out. A fsck will fix it up. Under heavy memory pressure a PF_MEMALLOC task attemtps to write out a blockdev page whose buffers are already under writeback and which were dirtied while under writeback. The writepage call returns -EAGAIN but because the caller is PF_MEMALLOC, the page was not being marked dirty again. The page sits on mapping->clean_pages for ever and it not written out. The fix is to mark that page dirty again for all callers, regardless of PF_MEMALLOC state.
-