return status;
 }
 
-static int htc_rxmsg_pending_handler(struct htc_target *target,
-                                    u32 msg_look_ahead[],
-                                    int *num_pkts)
+int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[],
+                             int *num_pkts)
 {
        struct htc_packet *packets, *tmp_pkt;
        struct htc_endpoint *endpoint;
 
        target->dev->ar = ar;
        target->dev->htc_cnxt = target;
-       target->dev->msg_pending = htc_rxmsg_pending_handler;
        target->ep_waiting = ENDPOINT_MAX;
 
        reset_ep_state(target);
 
                                  enum htc_endpoint_id endpoint, bool active);
 int htc_get_rxbuf_num(struct htc_target *target, enum htc_endpoint_id endpoint);
 int htc_add_rxbuf_multiple(struct htc_target *target, struct list_head *pktq);
+int htc_rxmsg_pending_handler(struct htc_target *target, u32 msg_look_ahead[],
+                             int *n_pkts);
 
 static inline void set_htc_pkt_info(struct htc_packet *packet, void *context,
                                    u8 *buf, unsigned int len,
 
                 * improve performance by reducing context switching when
                 * we rapidly pull packets.
                 */
-               status = dev->msg_pending(dev->htc_cnxt, &lk_ahd, &fetched);
+               status = htc_rxmsg_pending_handler(dev->htc_cnxt,
+                                                  &lk_ahd, &fetched);
                if (status)
                        goto out;
 
 
        u32 block_sz;
        u32 block_mask;
        struct htc_target *htc_cnxt;
-       int (*msg_pending) (struct htc_target *target, u32 lk_ahds[],
-                           int *npkts_fetched);
        struct hif_dev_scat_sup_info hif_scat_info;
        int max_rx_bndl_sz;
        int max_tx_bndl_sz;