* @edl: emergency download mode firmware path (if any)
  * @bar_num: PCI base address register to use for MHI MMIO register space
  * @dma_data_width: DMA transfer word size (32 or 64 bits)
+ * @mru_default: default MRU size for MBIM network packets
  */
 struct mhi_pci_dev_info {
        const struct mhi_controller_config *config;
        const char *edl;
        unsigned int bar_num;
        unsigned int dma_data_width;
+       unsigned int mru_default;
 };
 
 #define MHI_CHANNEL_CONFIG_UL(ch_num, ch_name, el_count, ev_ring) \
        .edl = "qcom/sdx55m/edl.mbn",
        .config = &modem_qcom_v1_mhiv_config,
        .bar_num = MHI_PCI_DEFAULT_BAR_NUM,
-       .dma_data_width = 32
+       .dma_data_width = 32,
+       .mru_default = 32768
 };
 
 static const struct mhi_pci_dev_info mhi_qcom_sdx24_info = {
        mhi_cntrl->wake_get = mhi_pci_wake_get_nop;
        mhi_cntrl->wake_put = mhi_pci_wake_put_nop;
        mhi_cntrl->wake_toggle = mhi_pci_wake_toggle_nop;
+       mhi_cntrl->mru = info->mru_default;
 
        err = mhi_pci_claim(mhi_cntrl, info->bar_num, DMA_BIT_MASK(info->dma_data_width));
        if (err)
 
        mhi_netdev->mdev = mhi_dev;
        mhi_netdev->skbagg_head = NULL;
        mhi_netdev->proto = info->proto;
+       mhi_netdev->mru = mhi_dev->mhi_cntrl->mru;
 
        INIT_DELAYED_WORK(&mhi_netdev->rx_refill, mhi_net_rx_refill_work);
        u64_stats_init(&mhi_netdev->stats.rx_syncp);
 
 
        ndev->needed_headroom = sizeof(struct mbim_tx_hdr);
        ndev->mtu = MHI_MBIM_DEFAULT_MTU;
-       mhi_netdev->mru = MHI_MBIM_DEFAULT_MRU;
+
+       if (!mhi_netdev->mru)
+               mhi_netdev->mru = MHI_MBIM_DEFAULT_MRU;
 
        return 0;
 }
 
  * @fbc_download: MHI host needs to do complete image transfer (optional)
  * @wake_set: Device wakeup set flag
  * @irq_flags: irq flags passed to request_irq (optional)
+ * @mru: the default MRU for the MHI device
  *
  * Fields marked as (required) need to be populated by the controller driver
  * before calling mhi_register_controller(). For the fields marked as (optional)
        bool fbc_download;
        bool wake_set;
        unsigned long irq_flags;
+       u32 mru;
 };
 
 /**