From 9899bafe997a4e020f302c99a6e025b4e8b25191 Mon Sep 17 00:00:00 2001 From: tzafrir Date: Thu, 10 Jan 2008 18:12:27 +0000 Subject: xpp.r5254: * Improved polarity reversal hangups in FXO (r5194). Fixed false detection of polarity reversals. * Optimize xframe allocation, by not zeroing the whole memory (in get_xframe()). * Fixed erronous error message that appeared sometimes from fpga_load during USB renumeration. * Zaptel::Chans now provides battery() reporting for some FXO channels (Astribank FXO and wcfxo). git-svn-id: http://svn.digium.com/svn/zaptel/branches/1.2@3643 5390a7c7-147a-4af0-8ec9-7488f05a26cb --- xpp/xproto.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'xpp/xproto.c') diff --git a/xpp/xproto.c b/xpp/xproto.c index 83a66d8..d55949e 100644 --- a/xpp/xproto.c +++ b/xpp/xproto.c @@ -43,12 +43,6 @@ bool valid_xpd_addr(const struct xpd_addr *addr) return ((addr->subunit & ~BITMASK(SUBUNIT_BITS)) == 0) && ((addr->unit & ~BITMASK(UNIT_BITS)) == 0); } -void xpd_set_addr(struct xpd_addr *addr, int xpd_num) -{ - addr->unit = XBUS_UNIT(xpd_num); - addr->subunit = XBUS_SUBUNIT(xpd_num); -} - /*---------------- General Protocol Management ----------------------------*/ const xproto_entry_t *xproto_card_entry(const xproto_table_t *table, byte opcode) @@ -145,13 +139,13 @@ int packet_process(xbus_t *xbus, xpacket_t *pack) if(printk_ratelimit()) { XBUS_NOTICE(xbus, "%s: from %d%d: bad address.\n", __FUNCTION__, - XPACKET_ADDR(pack).unit, XPACKET_ADDR(pack).subunit); + XPACKET_ADDR_UNIT(pack), XPACKET_ADDR_SUBUNIT(pack)); dump_packet("packet_process -- bad address", pack, print_dbg); } goto out; } op = XPACKET_OP(pack); - xpd = xpd_byaddr(xbus, XPACKET_ADDR(pack).unit, XPACKET_ADDR(pack).subunit); + xpd = xpd_byaddr(xbus, XPACKET_ADDR_UNIT(pack), XPACKET_ADDR_SUBUNIT(pack)); /* XPD may be NULL (e.g: during bus polling */ xe = xproto_global_entry(op); /*-------- Validations -----------*/ @@ -162,7 +156,7 @@ int packet_process(xbus_t *xbus, xpacket_t *pack) if(printk_ratelimit()) { XBUS_NOTICE(xbus, "%s: from %d%d opcode=0x%02X: no such global command.\n", __FUNCTION__, - XPACKET_ADDR(pack).unit, XPACKET_ADDR(pack).subunit, op); + XPACKET_ADDR_UNIT(pack), XPACKET_ADDR_SUBUNIT(pack), op); dump_packet("packet_process -- no such global command", pack, 1); } goto out; @@ -263,6 +257,7 @@ int xframe_receive(xbus_t *xbus, xframe_t *xframe) XBUS_NOTICE(xbus, "short xframe\n"); dump_xframe("short xframe", xbus, xframe); } + FREE_RECV_XFRAME(xbus, xframe); return -EPROTO; } if(!XBUS_GET(xbus)) { @@ -299,9 +294,9 @@ void dump_packet(const char *msg, const xpacket_t *packet, bool print_dbg) return; printk(KERN_DEBUG "%s: XPD=%1X-%1X%c (0x%X) OP=0x%02X LEN=%d", msg, - XPACKET_ADDR(packet).unit, - XPACKET_ADDR(packet).subunit, - (XPACKET_ADDR(packet).sync_master)?'+':' ', + XPACKET_ADDR_UNIT(packet), + XPACKET_ADDR_SUBUNIT(packet), + (XPACKET_ADDR_SYNC(packet))?'+':' ', *addr, op, XPACKET_LEN(packet)); @@ -444,7 +439,6 @@ EXPORT_SYMBOL(dump_reg_cmd); EXPORT_SYMBOL(xframe_receive); EXPORT_SYMBOL(notify_bad_xpd); EXPORT_SYMBOL(valid_xpd_addr); -EXPORT_SYMBOL(xpd_set_addr); EXPORT_SYMBOL(xproto_global_entry); EXPORT_SYMBOL(xproto_card_entry); EXPORT_SYMBOL(xproto_name); -- cgit v1.2.3