public inbox for linux-wireless@vger.kernel.org
 help / color / mirror / Atom feed
From: Bing Zhao <bzhao@marvell.com>
To: Dan Williams <dcbw@redhat.com>
Cc: libertas-dev@lists.infradead.org, linux-wireless@vger.kernel.org,
	bzhao@marvell.com
Subject: Re: [PATCH resend] libertas: support mesh for various firmware versions
Date: Wed, 11 Mar 2009 18:13:28 -0700 (PDT)	[thread overview]
Message-ID: <alpine.LFD.0.9999.0903111802190.6150@localhost.localdomain> (raw)

On Wednesday, March 11, 2009 at 3:26 AM, Dan Williams wrote:

>> +		struct {
>> +			/* packet type */
>> +			u8 pkt_type;
>> +			/* BSS number */
>> +			u8 bss_num;
>
> Any chance you could give a quick overview of what goes in the
> pkt_type and bss_num fields?

Hi Dan,

This is to support multiple BSS simultaneously with the same
firmware at runtime. Each BSS has a unique number (bss_num) and
may have different type, such as "client", "AP", etc.

The bss_num of mesh interface is defined as a macro
"MESH_IFACE_ID" in this patch. The pkt_type field is reserved
for future use.


>> +		} else if (priv->mesh_fw_ver == MESH_FW_NEW) {
>> +			if (p_rx_pd->u.stat.bss_num)
>
> This would mean that bss_num == 0 indicates a regular frame.  Is
> that correct?  For mesh frames bss_num will always be > 0?  The
> old-style rx_control flag seems a bit cleaner to me, but whatever
> works :)

It should be like this, thanks!
+		} else if (priv->mesh_fw_ver == MESH_FW_NEW) {
+			if (p_rx_pd->u.stat.bss_num == MESH_IFACE_ID)

>> -	if (!(p_rx_pd->status & cpu_to_le16(MRVDRV_RXPD_STATUS_OK))) {
>> -		lbs_deb_rx("rx err: frame received with bad status\n");
>> -		lbs_pr_alert("rxpd not ok\n");
>> -		priv->stats.rx_errors++;
>> -		ret = 0;
>> -		goto done;
>> -	}
>> -
>
> I'd prefer to keep this code; can you protect it with firmware version
> checks for firmware < 5.1?  It looks like those older firmware versions
> use it, but the 5.1 specification marks RxStatus "Reserved".  Since the
> driver still works with cf8385 and sd8385 using firmware 5.0.16 and
> such, I'm not sure we should remove this yet.

The firmware seems always set MRVDRV_RXPD_STATUS_OK bit in status field.
I'll double check for this with the old firmware v5.0.16.

The patch will be re-sent to address above issues.

Thanks,

Bing


             reply	other threads:[~2009-03-12  2:39 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-12  1:13 Bing Zhao [this message]
2009-03-13 22:06 ` [PATCH resend] libertas: support mesh for various firmware versions Bing Zhao
2009-03-16 16:48   ` Dan Williams
2009-03-16 20:56   ` Bing Zhao
  -- strict thread matches above, loose matches on Subject: below --
2009-03-07  1:03 Bing Zhao
2009-03-11 10:26 ` Dan Williams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=alpine.LFD.0.9999.0903111802190.6150@localhost.localdomain \
    --to=bzhao@marvell.com \
    --cc=dcbw@redhat.com \
    --cc=libertas-dev@lists.infradead.org \
    --cc=linux-wireless@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox