Search Linux Wireless

RE: Problems with mwifiex_pcie firmware activation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Stanislaw,

> From: Stanislaw Gruszka [mailto:sgruszka@xxxxxxxxxx]
> Sent: Thursday, August 11, 2016 5:59 PM
> To: Amitkumar Karwar
> Cc: Nishant Sarmukadam; linux-wireless@xxxxxxxxxxxxxxx
> Subject: Re: Problems with mwifiex_pcie firmware activation
> 
> Hi
> 
> On Thu, Aug 11, 2016 at 10:21:58AM +0000, Amitkumar Karwar wrote:
> > > -----Original Message-----
> > > From: Stanislaw Gruszka [mailto:sgruszka@xxxxxxxxxx]
> > > Sent: Thursday, August 11, 2016 2:31 PM
> > > To: Amitkumar Karwar
> > > Cc: Nishant Sarmukadam; linux-wireless@xxxxxxxxxxxxxxx
> > > Subject: Re: Problems with mwifiex_pcie firmware activation
> > >
> > > On Thu, Jun 23, 2016 at 02:09:52PM +0200, Stanislaw Gruszka wrote:
> > > > On Thu, Jun 16, 2016 at 01:53:15PM +0200, Stanislaw Gruszka wrote:
> > > > > On Wed, Jun 15, 2016 at 01:47:53PM +0000, Amitkumar Karwar
> wrote:
> > > > > > Could you please share complete dmesg log for failure and
> > > successful cases?
> > > > >
> > > > > Dmesg from failure case is in attachment. I loose access to
> > > > > system where device initalize, I'll provide missed dmesg when I
> > > > > get back the access.
> > > >
> > > > Have the access now, dmesg is in attachment.
> > >
> > > Any news here ?
> >
> > Do you have below patch included? It increases poll count which may
> help in your case.
> > https://patchwork.kernel.org/patch/7973951/
> 
> Yes, I have that patch.
> 
> To clarify the issue: reverting above patch seems to helps with the
> problem. That what I basically did on first of my systems with mwifiex,
> that did not work similarly like second one. However I did not revert
> the patch but just comment out check_winner_status:
> 
> @@ -755,7 +755,7 @@ int mwifiex_dnld_fw(struct mwifiex_adapter *adapter,
>         }
> 
>         /* check if we are the winner for downloading FW */
> -       if (adapter->if_ops.check_winner_status) {
> +       if (false) {
>                 adapter->winner = 0;
>                 ret = adapter->if_ops.check_winner_status(adapter);
> 
> After running modified kernel once, the problem was gone on unmodified
> kernel! I suppose that once new firmware was uploaded to the device it
> somehow modify it (change it's internal firmware?) and make
> check_winner_status() works correctly. This is strange, but I can not
> find any other explanation and don't see any other changes in the first
> system that makes mwifiex suddenly work.
> 
> I could be wrong, but I suppose somebody who use pre 4.6 kernel (without
> the above patch committed as: 2fd5c6ed0b4fbf3c2d9314a24c82862ce5254d42
> "mwifiex: firmware download enhancements") with new enough mwifiex
> firmware, will not see the problem even after kernel update. But if
> somebody install 4.6 or newer kernel on pristine hardware, the device
> will not work.
> 

The problem looks strange. The patch just splits mwifiex_check_fw_status() and increases poll count. It should not have any side-effects.
Our code used to check winner status before this patch also.

Regards,
Amitkumar Karwar
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux