|
@@ -0,0 +1,333 @@
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/app_plci.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/app_plci.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/app_plci.c 2008-01-18 10:24:49.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/app_plci.c 2008-02-05 23:06:46.000000000 +0100
+@@ -825,6 +825,7 @@
+ cmsg->LLC = &p[qi->llc.off + 1];
+ if (qi->hlc.off)
+ cmsg->HLC = &p[qi->hlc.off + 1];
++#ifdef CAPIUTIL_VERSION
+ #if CAPIUTIL_VERSION > 1
+ /* ETS 300 092 Annex B */
+ if (qi->calling_nr.repeated) {
+@@ -834,6 +835,7 @@
+ int_error();
+ }
+ #endif
++#endif
+ // all else set to default
+ }
+ if (mISDN_FsmEvent(&aplci->plci_m, EV_PI_CONNECT_IND, cmsg))
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/avm_fritz.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/avm_fritz.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/avm_fritz.c 2008-01-18 10:24:49.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/avm_fritz.c 2008-02-05 23:06:46.000000000 +0100
+@@ -689,7 +689,11 @@
+ }
+
+ static irqreturn_t
++#ifdef OLD_IRQ_CALL
+ avm_fritz_interrupt(int intno, void *dev_id, struct pt_regs *regs)
++#else
++avm_fritz_interrupt(int intno, void *dev_id)
++#endif
+ {
+ fritzpnppci *fc = dev_id;
+ u_char val;
+@@ -722,7 +726,11 @@
+ }
+
+ static irqreturn_t
++#ifdef OLD_IRQ_CALL
+ avm_fritzv2_interrupt(int intno, void *dev_id, struct pt_regs *regs)
++#else
++avm_fritzv2_interrupt(int intno, void *dev_id)
++#endif
+ {
+ fritzpnppci *fc = dev_id;
+ u_char val;
+@@ -876,7 +884,7 @@
+ static int init_card(fritzpnppci *fc)
+ {
+ int cnt = 3;
+- u_int shared = SA_SHIRQ;
++ u_int shared = __IRQF_SHARED;
+ u_long flags;
+ u_char *id = "AVM Fritz!PCI";
+
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/core.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/core.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/core.c 2007-12-17 16:29:59.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/core.c 2008-02-05 23:06:46.000000000 +0100
+@@ -759,9 +759,11 @@
+ int
+ mISDNInit(void)
+ {
+- DECLARE_MUTEX_LOCKED(sem);
++ struct semaphore sem;
+ int err;
+
++ init_MUTEX_LOCKED(&sem);
++
+ printk(KERN_INFO "Modular ISDN Stack core version (%s) revision (%s)\n", mISDN_core_version, mISDN_core_revision);
+ core_debug = debug;
+ #ifdef MISDN_MEMDEBUG
+@@ -801,7 +803,8 @@
+ }
+
+ void mISDN_cleanup(void) {
+- DECLARE_MUTEX_LOCKED(sem);
++ struct semaphore sem;
++ init_MUTEX_LOCKED(&sem);
+
+ free_mISDNdev();
+ if (!list_empty(&mISDN_objectlist)) {
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/dsp_core.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/dsp_core.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/dsp_core.c 2008-01-18 10:24:50.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/dsp_core.c 2008-02-05 23:10:32.000000000 +0100
+@@ -1005,8 +1005,10 @@
+ /* fill mISDN object (dsp_obj) */
+ memset(&dsp_obj, 0, sizeof(dsp_obj));
+ #ifdef MODULE
++#ifdef SET_MODULE_OWNER
+ SET_MODULE_OWNER(&dsp_obj);
+ #endif
++#endif
+ spin_lock_init(&dsp_obj.lock);
+ dsp_obj.name = DSPName;
+ dsp_obj.BPROTO.protocol[3] = ISDN_PID_L3_B_DSP;
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_multi.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_multi.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_multi.c 2008-01-18 10:24:50.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_multi.c 2008-02-05 23:06:46.000000000 +0100
+@@ -119,7 +119,7 @@
+ #define bugtest \
+ if (hc->irq) free_irq(hc->irq, hc); \
+ hc->irq = 0; \
+- if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, SA_SHIRQ, "HFC-multi", hc)) { \
++ if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, __IRQF_SHARED, "HFC-multi", hc)) { \
+ printk(KERN_WARNING "mISDN: Could not get interrupt %d.\n", hc->pci_dev->irq); \
+ hc->irq = hc->pci_dev->irq; }
+ #endif
+@@ -1930,7 +1930,11 @@
+ }
+
+ static irqreturn_t
++#ifdef OLD_IRQ_CALL
+ hfcmulti_interrupt(int intno, void *dev_id, struct pt_regs *regs)
++#else
++hfcmulti_interrupt(int intno, void *dev_id)
++#endif
+ {
+ #ifdef IRQCOUNT_DEBUG
+ static int iq1=0,iq2=0,iq3=0,iq4=0,iq5=0,iq6=0,iqcnt=0;
+@@ -3294,7 +3298,7 @@
+ disable_hwirq(hc);
+ spin_unlock_irqrestore(&hc->lock, flags);
+
+- if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, SA_SHIRQ, "HFC-multi", hc)) {
++ if (request_irq(hc->pci_dev->irq, hfcmulti_interrupt, __IRQF_SHARED, "HFC-multi", hc)) {
+ printk(KERN_WARNING "mISDN: Could not get interrupt %d.\n", hc->pci_dev->irq);
+ return(-EIO);
+ }
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_pci.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_pci.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfc_pci.c 2008-01-18 10:24:50.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfc_pci.c 2008-02-05 23:06:46.000000000 +0100
+@@ -1034,7 +1034,11 @@
+ }
+
+ static irqreturn_t
++#ifdef OLD_IRQ_CALL
+ hfcpci_interrupt(int intno, void *dev_id, struct pt_regs *regs)
++#else
++hfcpci_interrupt(int intno, void *dev_id)
++#endif
+ {
+ hfc_pci_t *hc = dev_id;
+ u_char exval;
+@@ -1693,7 +1697,7 @@
+ spin_lock_irqsave(&hc->lock, flags);
+ disable_hwirq(hc);
+ spin_unlock_irqrestore(&hc->lock, flags);
+- if (request_irq(hc->irq, hfcpci_interrupt, SA_SHIRQ, "HFC PCI", hc)) {
++ if (request_irq(hc->irq, hfcpci_interrupt, __IRQF_SHARED, "HFC PCI", hc)) {
+ printk(KERN_WARNING "mISDN: couldn't get interrupt %d\n", hc->irq);
+ return(-EIO);
+ }
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_mini.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_mini.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_mini.c 2008-01-18 10:24:50.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_mini.c 2008-02-05 23:06:46.000000000 +0100
+@@ -983,7 +983,11 @@
+ /* Interrupt handler */
+ /*********************/
+ static irqreturn_t
++#ifdef OLD_IRQ_CALL
+ hfcsmini_interrupt(int intno, void *dev_id, struct pt_regs *regs)
++#else
++hfcsmini_interrupt(int intno, void *dev_id)
++#endif
+ {
+ __u8 fifo_irq, misc_irq;
+ hfcsmini_hw *hw = dev_id;
+@@ -1587,7 +1591,7 @@
+ printk(KERN_WARNING "%s %s: requesting IRQ %d\n",
+ hw->card_name, __FUNCTION__, hw->irq);
+
+- if (request_irq(hw->irq, hfcsmini_interrupt, SA_SHIRQ, "HFC-S mini", hw)) {
++ if (request_irq(hw->irq, hfcsmini_interrupt, __IRQF_SHARED, "HFC-S mini", hw)) {
+ printk(KERN_WARNING "%s %s: couldn't get interrupt %d\n",
+ hw->card_name, __FUNCTION__, hw->irq);
+
+diff -Naur mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_usb.c mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_usb.c
+--- mISDN-1_1_7_2.orig/drivers/isdn/hardware/mISDN/hfcs_usb.c 2008-01-18 10:24:50.000000000 +0100
++++ mISDN-1_1_7_2/drivers/isdn/hardware/mISDN/hfcs_usb.c 2008-02-05 23:06:46.000000000 +0100
+@@ -1109,17 +1109,13 @@
+ {
+ int k;
+
+- spin_lock_init(&urb->lock);
+- urb->dev = dev;
+- urb->pipe = pipe;
+- urb->complete = complete;
++ usb_fill_bulk_urb(urb, dev, pipe, buf, packet_size * num_packets, complete, context);
++
+ urb->number_of_packets = num_packets;
+- urb->transfer_buffer_length = packet_size * num_packets;
+- urb->context = context;
+- urb->transfer_buffer = buf;
+ urb->transfer_flags = URB_ISO_ASAP;
+ urb->actual_length = 0;
+ urb->interval = interval;
++
+ for (k = 0; k < num_packets; k++) {
+ urb->iso_frame_desc[k].offset = packet_size * k;
|