Copyright (c) 2015-2017, Qualcomm Atheros, Inc.
All rights reserved.

Redistribution. Reproduction and redistribution in binary form, without
modification, for use solely in conjunction with a Qualcomm Atheros, Inc.
chipset, is permitted provided that the following conditions are met:

  • Redistributions must reproduce the above copyright notice and the following
    disclaimer in the documentation and/or other materials provided with the
    distribution.

  • Neither the name of Qualcomm Atheros, Inc. nor the names of its suppliers
    may be used to endorse or promote products derived from this Software
    without specific prior written permission.

  • No reverse engineering, decompilation, or disassembly of this Software is
    permitted.

Limited patent license. Qualcomm Atheros, Inc. (“Licensor”) grants you
(“Licensee”) a limited, worldwide, royalty-free, non-exclusive license under
the Patents to make, have made, use, import, offer to sell and sell the
Software. No hardware per se is licensed hereunder.
The term “Patents” as used in this agreement means only those patents or patent
applications owned solely and exclusively by Licensor as of the date of
Licensor’s submission of the Software and any patents deriving priority (i.e.,
having a first effective filing date) therefrom. The term “Software” as used in
this agreement means the firmware image submitted by Licensor, under the terms
of this license, to git://git.kernel.org/pub/scm/linux/kernel/git/firmware/
linux-firmware.git.
Notwithstanding anything to the contrary herein, Licensor does not grant and
Licensee does not receive, by virtue of this agreement or the Licensor’s
submission of any Software, any license or other rights under any patent or
patent application owned by any affiliate of Licensor or any other entity
(other than Licensor), whether expressly, impliedly, by virtue of estoppel or
exhaustion, or otherwise.

DISCLAIMER. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL
THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
