diff options
author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-04-18 15:52:50 -0400 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-04-18 15:52:50 -0400 |
commit | 681e4a5e13c1c8315694eb4f44e0cdd84c9082d2 (patch) | |
tree | 699f14527c118859026e8ce0214e689d0b9c88cb /drivers/isdn/sc/interrupt.c | |
parent | b960d6c43a63ebd2d8518b328da3816b833ee8cc (diff) | |
parent | c104f1fa1ecf4ee0fc06e31b1f77630b2551be81 (diff) |
Merge commit 'c104f1fa1ecf4ee0fc06e31b1f77630b2551be81' into stable/for-linus-3.4
* commit 'c104f1fa1ecf4ee0fc06e31b1f77630b2551be81': (14566 commits)
cpufreq: OMAP: fix build errors: depends on ARCH_OMAP2PLUS
sparc64: Eliminate obsolete __handle_softirq() function
sparc64: Fix bootup crash on sun4v.
kconfig: delete last traces of __enabled_ from autoconf.h
Revert "kconfig: fix __enabled_ macros definition for invisible and un-selected symbols"
kconfig: fix IS_ENABLED to not require all options to be defined
irq_domain: fix type mismatch in debugfs output format
staging: android: fix mem leaks in __persistent_ram_init()
staging: vt6656: Don't leak memory in drivers/staging/vt6656/ioctl.c::private_ioctl()
staging: iio: hmc5843: Fix crash in probe function.
panic: fix stack dump print on direct call to panic()
drivers/rtc/rtc-pl031.c: enable clock on all ST variants
Revert "mm: vmscan: fix misused nr_reclaimed in shrink_mem_cgroup_zone()"
hugetlb: fix race condition in hugetlb_fault()
drivers/rtc/rtc-twl.c: use static register while reading time
drivers/rtc/rtc-s3c.c: add placeholder for driver private data
drivers/rtc/rtc-s3c.c: fix compilation error
MAINTAINERS: add PCDP console maintainer
memcg: do not open code accesses to res_counter members
drivers/rtc/rtc-efi.c: fix section mismatch warning
...
Diffstat (limited to 'drivers/isdn/sc/interrupt.c')
-rw-r--r-- | drivers/isdn/sc/interrupt.c | 144 |
1 files changed, 72 insertions, 72 deletions
diff --git a/drivers/isdn/sc/interrupt.c b/drivers/isdn/sc/interrupt.c index f0225bc0f267..e80cc76bc314 100644 --- a/drivers/isdn/sc/interrupt.c +++ b/drivers/isdn/sc/interrupt.c @@ -22,7 +22,7 @@ #include <linux/interrupt.h> /* - * + * */ irqreturn_t interrupt_handler(int dummy, void *card_inst) { @@ -31,15 +31,15 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) int channel; int card = (int)(unsigned long) card_inst; - if(!IS_VALID_CARD(card)) { + if (!IS_VALID_CARD(card)) { pr_debug("Invalid param: %d is not a valid card id\n", card); return IRQ_NONE; } pr_debug("%s: Entered Interrupt handler\n", - sc_adapter[card]->devicename); - - /* + sc_adapter[card]->devicename); + + /* * Pull all of the waiting messages off the response queue */ while (!receivemessage(card, &rcvmsg)) { @@ -47,31 +47,31 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) * Push the message to the adapter structure for * send_and_receive to snoop */ - if(sc_adapter[card]->want_async_messages) + if (sc_adapter[card]->want_async_messages) memcpy(&(sc_adapter[card]->async_msg), - &rcvmsg, sizeof(RspMessage)); + &rcvmsg, sizeof(RspMessage)); channel = (unsigned int) rcvmsg.phy_link_no; - + /* * Trap Invalid request messages */ - if(IS_CM_MESSAGE(rcvmsg, 0, 0, Invalid)) { - pr_debug("%s: Invalid request Message, rsp_status = %d\n", - sc_adapter[card]->devicename, - rcvmsg.rsp_status); - break; + if (IS_CM_MESSAGE(rcvmsg, 0, 0, Invalid)) { + pr_debug("%s: Invalid request Message, rsp_status = %d\n", + sc_adapter[card]->devicename, + rcvmsg.rsp_status); + break; } - + /* * Check for a linkRead message */ if (IS_CE_MESSAGE(rcvmsg, Lnk, 1, Read)) { pr_debug("%s: Received packet 0x%x bytes long at 0x%lx\n", - sc_adapter[card]->devicename, - rcvmsg.msg_data.response.msg_len, - rcvmsg.msg_data.response.buff_offset); + sc_adapter[card]->devicename, + rcvmsg.msg_data.response.msg_len, + rcvmsg.msg_data.response.buff_offset); rcvpkt(card, &rcvmsg); continue; @@ -80,49 +80,49 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) /* * Handle a write acknoledgement */ - if(IS_CE_MESSAGE(rcvmsg, Lnk, 1, Write)) { + if (IS_CE_MESSAGE(rcvmsg, Lnk, 1, Write)) { pr_debug("%s: Packet Send ACK on channel %d\n", - sc_adapter[card]->devicename, - rcvmsg.phy_link_no); - sc_adapter[card]->channel[rcvmsg.phy_link_no-1].free_sendbufs++; + sc_adapter[card]->devicename, + rcvmsg.phy_link_no); + sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].free_sendbufs++; continue; } /* * Handle a connection message */ - if (IS_CE_MESSAGE(rcvmsg, Phy, 1, Connect)) + if (IS_CE_MESSAGE(rcvmsg, Phy, 1, Connect)) { unsigned int callid; - setup_parm setup; + setup_parm setup; pr_debug("%s: Connect message: line %d: status %d: cause 0x%x\n", - sc_adapter[card]->devicename, - rcvmsg.phy_link_no, - rcvmsg.rsp_status, - rcvmsg.msg_data.byte_array[2]); - - memcpy(&callid,rcvmsg.msg_data.byte_array,sizeof(int)); - if(callid>=0x8000 && callid<=0xFFFF) - { + sc_adapter[card]->devicename, + rcvmsg.phy_link_no, + rcvmsg.rsp_status, + rcvmsg.msg_data.byte_array[2]); + + memcpy(&callid, rcvmsg.msg_data.byte_array, sizeof(int)); + if (callid >= 0x8000 && callid <= 0xFFFF) + { pr_debug("%s: Got Dial-Out Rsp\n", - sc_adapter[card]->devicename); + sc_adapter[card]->devicename); indicate_status(card, ISDN_STAT_DCONN, - (unsigned long)rcvmsg.phy_link_no-1,NULL); - + (unsigned long)rcvmsg.phy_link_no - 1, NULL); + } - else if(callid>=0x0000 && callid<=0x7FFF) + else if (callid >= 0x0000 && callid <= 0x7FFF) { int len; pr_debug("%s: Got Incoming Call\n", - sc_adapter[card]->devicename); + sc_adapter[card]->devicename); len = strlcpy(setup.phone, &(rcvmsg.msg_data.byte_array[4]), - sizeof(setup.phone)); + sizeof(setup.phone)); if (len >= sizeof(setup.phone)) continue; len = strlcpy(setup.eazmsn, - sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn, - sizeof(setup.eazmsn)); + sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn, + sizeof(setup.eazmsn)); if (len >= sizeof(setup.eazmsn)) continue; setup.si1 = 7; @@ -130,8 +130,8 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) setup.plan = 0; setup.screen = 0; - indicate_status(card, ISDN_STAT_ICALL,(unsigned long)rcvmsg.phy_link_no-1,(char *)&setup); - indicate_status(card, ISDN_STAT_DCONN,(unsigned long)rcvmsg.phy_link_no-1,NULL); + indicate_status(card, ISDN_STAT_ICALL, (unsigned long)rcvmsg.phy_link_no - 1, (char *)&setup); + indicate_status(card, ISDN_STAT_DCONN, (unsigned long)rcvmsg.phy_link_no - 1, NULL); } continue; } @@ -139,16 +139,16 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) /* * Handle a disconnection message */ - if (IS_CE_MESSAGE(rcvmsg, Phy, 1, Disconnect)) + if (IS_CE_MESSAGE(rcvmsg, Phy, 1, Disconnect)) { pr_debug("%s: disconnect message: line %d: status %d: cause 0x%x\n", - sc_adapter[card]->devicename, - rcvmsg.phy_link_no, - rcvmsg.rsp_status, - rcvmsg.msg_data.byte_array[2]); + sc_adapter[card]->devicename, + rcvmsg.phy_link_no, + rcvmsg.rsp_status, + rcvmsg.msg_data.byte_array[2]); - indicate_status(card, ISDN_STAT_BHUP,(unsigned long)rcvmsg.phy_link_no-1,NULL); - indicate_status(card, ISDN_STAT_DHUP,(unsigned long)rcvmsg.phy_link_no-1,NULL); + indicate_status(card, ISDN_STAT_BHUP, (unsigned long)rcvmsg.phy_link_no - 1, NULL); + indicate_status(card, ISDN_STAT_DHUP, (unsigned long)rcvmsg.phy_link_no - 1, NULL); continue; } @@ -158,10 +158,10 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) */ if (IS_CM_MESSAGE(rcvmsg, 5, 0, MiscEngineUp)) { pr_debug("%s: Received EngineUp message\n", - sc_adapter[card]->devicename); + sc_adapter[card]->devicename); sc_adapter[card]->EngineUp = 1; - sendmessage(card, CEPID,ceReqTypeCall,ceReqClass0,ceReqCallGetMyNumber,1,0,NULL); - sendmessage(card, CEPID,ceReqTypeCall,ceReqClass0,ceReqCallGetMyNumber,2,0,NULL); + sendmessage(card, CEPID, ceReqTypeCall, ceReqClass0, ceReqCallGetMyNumber, 1, 0, NULL); + sendmessage(card, CEPID, ceReqTypeCall, ceReqClass0, ceReqCallGetMyNumber, 2, 0, NULL); init_timer(&sc_adapter[card]->stat_timer); sc_adapter[card]->stat_timer.function = check_phystat; sc_adapter[card]->stat_timer.data = card; @@ -175,25 +175,25 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) */ if (IS_CM_MESSAGE(rcvmsg, 2, 0, StartProc)) { pr_debug("%s: StartProc Response Status %d\n", - sc_adapter[card]->devicename, - rcvmsg.rsp_status); + sc_adapter[card]->devicename, + rcvmsg.rsp_status); continue; } /* * Handle a GetMyNumber Rsp */ - if (IS_CE_MESSAGE(rcvmsg,Call,0,GetMyNumber)){ + if (IS_CE_MESSAGE(rcvmsg, Call, 0, GetMyNumber)) { strlcpy(sc_adapter[card]->channel[rcvmsg.phy_link_no - 1].dn, rcvmsg.msg_data.byte_array, sizeof(rcvmsg.msg_data.byte_array)); continue; } - + /* * PhyStatus response */ - if(IS_CE_MESSAGE(rcvmsg, Phy, 2, Status)) { + if (IS_CE_MESSAGE(rcvmsg, Phy, 2, Status)) { unsigned int b1stat, b2stat; /* @@ -204,30 +204,30 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) sc_adapter[card]->nphystat = (b2stat >> 8) | b1stat; /* endian?? */ pr_debug("%s: PhyStat is 0x%2x\n", - sc_adapter[card]->devicename, - sc_adapter[card]->nphystat); + sc_adapter[card]->devicename, + sc_adapter[card]->nphystat); continue; } - /* + /* * Handle a GetFramFormat */ - if(IS_CE_MESSAGE(rcvmsg, Call, 0, GetFrameFormat)) { - if(rcvmsg.msg_data.byte_array[0] != HDLC_PROTO) { + if (IS_CE_MESSAGE(rcvmsg, Call, 0, GetFrameFormat)) { + if (rcvmsg.msg_data.byte_array[0] != HDLC_PROTO) { unsigned int proto = HDLC_PROTO; /* * Set board format to HDLC if it wasn't already */ pr_debug("%s: current frame format: 0x%x, will change to HDLC\n", - sc_adapter[card]->devicename, - rcvmsg.msg_data.byte_array[0]); + sc_adapter[card]->devicename, + rcvmsg.msg_data.byte_array[0]); sendmessage(card, CEPID, ceReqTypeCall, - ceReqClass0, - ceReqCallSetFrameFormat, - (unsigned char) channel +1, - 1,&proto); - } + ceReqClass0, + ceReqCallSetFrameFormat, + (unsigned char)channel + 1, + 1, &proto); + } continue; } @@ -235,13 +235,13 @@ irqreturn_t interrupt_handler(int dummy, void *card_inst) * Hmm... */ pr_debug("%s: Received unhandled message (%d,%d,%d) link %d\n", - sc_adapter[card]->devicename, - rcvmsg.type, rcvmsg.class, rcvmsg.code, - rcvmsg.phy_link_no); + sc_adapter[card]->devicename, + rcvmsg.type, rcvmsg.class, rcvmsg.code, + rcvmsg.phy_link_no); } /* while */ pr_debug("%s: Exiting Interrupt Handler\n", - sc_adapter[card]->devicename); + sc_adapter[card]->devicename); return IRQ_HANDLED; } |