aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
Commit message (Collapse)AuthorAge
* [PATCH] sky2: phy processing in workqueue rather than taskletStephen Hemminger2005-12-12
| | | | | | | | Do phy processing in a work queue rather than a tasklet. This means we can let bottom halves run. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: ethtool get/set interrupt coalescingStephen Hemminger2005-12-12
| | | | | | | Add support for get/set the interrupt coalescing settings. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: copy threshold as module parameterStephen Hemminger2005-12-12
| | | | | | | | Make the copy threshold a module parameter for those who may want to turn it off. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: device structure alignmentStephen Hemminger2005-12-12
| | | | | | | | It is a useful optimization to rearrange the structure slightly to align receive and transmit portions. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* [PATCH] sky2: don't die if we see chip rev 0xb5Stephen Hemminger2005-12-12
| | | | | | | | There maybe new versions of Yukon2 in the future, so make the driver more robust to handle this. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* Merge branch 'master'Jeff Garzik2005-12-12
|\
| * Revert revert of "[SCSI] fix usb storage oops"Linus Torvalds2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 1b0997f561bf46689cc6e0903f342e9bf2506bf1, which in turn reverted 34ea80ec6a02ad02e6b9c75c478c18e5880d6713 (which is thus re-instated). Quoth James Bottomley: "All it's doing is deferring the device_put() from the scsi_put_command() to after the scsi_run_queue(), which doesn't fix the sleep while atomic problem of the device release method. In both cases we still get the semaphore in atomic context problem which is caused by scsi_reap_target() doing a device_del(), which I assumed (wrongly) was valid from atomic context." who also promised to fix scsi_reap_target(). Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] md: use correct size of raid5 stripe cache when measuring how full it isNeilBrown2005-12-12
| | | | | | | | | | | | | | | | | | | | | | The raid5 stripe cache was recently changed from fixed size (NR_STRIPES) to variable size (conf->max_nr_stripes). However there are two places that still use the constant and as a result, reducing the size of the stripe cache can result in a deadlock. Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] md: fix a use-after-free bug in raid1NeilBrown2005-12-12
| | | | | | | | | | | | | | | | Who would submit code with a FIXME like that in it !!!! Signed-off-by: Neil Brown <neilb@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] raw driver: Kconfig fixAndrew Morton2005-12-12
| | | | | | | | | | | | | | CONFIG_MAX_RAW_DEVS should appear immediately after CONFIG_RAW_DRIVER. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] ACPI: fix sleeping whilst atomic warnings on resumeDave Jones2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been broken for months. On resume, we call acpi_pci_link_set() with interrupts off, so we get a warning when we try to do a kmalloc of non atomic memory. The actual allocation is just 2 long's (plus extra byte for some reason I can't fathom), so a simple conversion to GFP_ATOMIC is probably the safest way to fix this. The error looks like this.. Debug: sleeping function called from invalid context at mm/slab.c:2486 in_atomic():0, irqs_disabled():1 [<c0143f6c>] kmem_cache_alloc+0x40/0x56 [<c0206a2e>] acpi_pci_link_set+0x3f/0x17f [<c0206f96>] irqrouter_resume+0x1e/0x3c [<c0239bca>] __sysdev_resume+0x11/0x6b [<c0239e88>] sysdev_resume+0x34/0x52 [<c023de21>] device_power_up+0x5/0xa Signed-off-by: Dave Jones <davej@redhat.com> Cc: "Brown, Len" <len.brown@intel.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] input: fix ucb1x00-ts breakage after conversion to dynamic input_dev ↵Nicolas Pitre2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | allocation The bd622663192e8ebebb27dc1d9397f352a82d2495 commit broke the UCB1x00 touchscreen driver since the idev structure was assumed to be into the ts structure, simply casting the former to the later in a couple places. This patch fixes those, and also cache the idev pointer between multiple calls to input_report_abs() to avoid growing the compiled code needlessly. Signed-off-by: Nicolas Pitre <nico@cam.org> Cc: Dmitry Torokhov <dtor_core@ameritech.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] ipmi: fix panic generator IDMatt Domsch2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | The IPMI specifcation says the generator ID is 0x20, but that is for bits 7-1. Bit 0 is set to specify it is a software event. The correct value is 0x41. Without this fix, panic events written into the System Event Log appear to come from an "unknown" generator, rather than from the kernel. Signed-off-by: Jordan Hargrave <Jordan_Hargrave@dell.com> Signed-off-by: Matt Domsch <Matt_Domsch@dell.com> Acked-by: Corey Minyard <minyard@acm.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] V4L/DVB: (3151) I2C ID renamed to I2C_DRIVERID_INFRAREDMauro Carvalho Chehab2005-12-12
| | | | | | | | | | | | | | | | | | I2C ID renamed to I2C_DRIVERID_INFRARED Acked-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] V4L/DVB: (3113) Convert em28xx to use vm_insert_page instead of ↵Sascha Sommer2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | remap_pfn_range Convert em28xx to use vm_insert_page instead of remap_pfn_range Signed-off-by: Sascha Sommer <saschasommer@freenet.de> Signed-off-by: Michael Krufky <mkrufky@gmail.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Cc: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] V4L/DVB: (3135) Fix tuner init for Pinnacle PCTV StereoRicardo Cerqueira2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | - The Pinnacle PCTV Stereo needs tda9887 port2 set to 1 - Without this patch, mt20xx tuner is not detected and the board doesn't tune. Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 4Mauro Carvalho Chehab2005-12-12
| | | | | | | | | | | | | | | | Clean up whitespaces at v4l/dvb files Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] V4L/DVB: (3086c) Whitespaces cleanups part 3Mauro Carvalho Chehab2005-12-12
| | | | | | | | | | | | | | | | Clean up whitespaces at v4l/dvb files Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] V4L/DVB: (3086b) Whitespaces cleanups part 2Mauro Carvalho Chehab2005-12-12
| | | | | | | | | | | | | | | | Clean up whitespaces at v4l/dvb files Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] V4L/DVB: (3086a) Whitespaces cleanups part 1Mauro Carvalho Chehab2005-12-12
| | | | | | | | | | | | | | | | Clean up whitespaces at v4l/dvb files Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] cciss: double put_disk()Jens Axboe2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This undoes the put_disk patch I sent in before. If I had been paying attention I would have seen that we call put_disk from free_hba during driver unload. That's the only time we want to call it. If it's called from deregister disk we may remove the controller (cNd0) unintentionally. Signed-off-by: Mike Miller <mike.miller@hp.com> Signed-off-by: Jens Axboe <axboe@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] Add timestamp field to process eventsMatt Helsley2005-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a timestamp field to the events sent via the process event connector. The timestamp allows listeners to accurately account the duration(s) between a process' events and offers strong means with which to determine the order of events with respect to a given task while also avoiding the addition of per-task data. This alters the size and layout of the event structure and hence would break compatibility if process events connector as it stands in 2.6.15-rc2 were released as a mainline kernel. Signed-off-by: Matt Helsley <matthltc@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] blkmtd: use clear_page_dirty()Andrew Morton2005-12-12
| | | | | | | | | | | | | | | | | | | | SetPageDirty() and ClearPageDirty() are low-level thing which filesystems shouldn't be using. They bypass dirty page accounting. Cc: David Woodhouse <dwmw2@infradead.org> Acked-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6Linus Torvalds2005-12-11
| |\
| | * [TG3]: remove warning on raceStephen Hemminger2005-12-06
| | | | | | | | | | | | | | | | | | | | | | | | [ Move assosciated code comment to the correct spot, and update driver version and release date -DaveM ] Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: David S. Miller <davem@davemloft.net>
| * | Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-mergeLinus Torvalds2005-12-11
| |\ \ | | |/ | |/|
| | * [PATCH] Fix windfarm model-id tableMichal Ostrowski2005-12-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | model_id fields of wf_smu_sys_all_params should match the model ID they are supposed to represent (as commented). Fixes windfarm on some iMac 8,1 models. Signed-off-by: Michal Ostrowski <mostrows at watson ibm com> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] V4L/DVB (3087) fix analog NTSC for pcHDTV 3000Mauro Carvalho Chehab2005-12-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fix analog NTSC for pcHDTV 3000 - Fix regression: broken analog NTSC for DViCO FusionHDTV3 Gold-T - add tda9887 to card struct, required for both cards. Signed-off-by: Michael Krufky <mkrufky@m1k.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@brturbo.com.br> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | | Merge branch 'master'Jeff Garzik2005-12-06
|\| |
| * | Link USB drivers later in the kernelLinus Torvalds2005-12-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We want to link the "regular" SCSI drivers before the USB storage driver, since historically we've always detected internal SCSI disks before the external USB storage modules. The link order matters for initcall ordering, and this got broken by mistake by commit 7586269c0b52970f60bb69fcb86e765fc1d72309 which moved the USB host controller PCI quirk handling around. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] libata: fix ata_scsi_pass_thru error handlingTejun Heo2005-12-03
| | | | | | | | | | | | | | | | | | | | | | | | This patch makes ata_scsi_pass_thru() properly set result code and sense data on translation failures. Signed-off-by: Tejun Heo <htejun@gmail.com> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
* | | Merge branch 'master'Jeff Garzik2005-12-03
|\| |
| * | Add missing "local_irq_enable()" to C2/C3 exit logicLinus Torvalds2005-12-03
| | | | | | | | | | | | | | | | | | Silly bug crept in with the C2/C3 TIF_POLLING_NRFLAG fixes. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | Revert "[SCSI] fix usb storage oops"Linus Torvalds2005-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 34ea80ec6a02ad02e6b9c75c478c18e5880d6713. It does a put_device() from softirq context, which is bad since it gets a semaphore for reading. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6Linus Torvalds2005-12-02
| |\ \
| | * | [SCSI] sg: fix a bug in st_map_user_pages failure pathHugh Dickins2005-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sg's st_map_user_pages is modelled on an earlier version of st's sgl_map_user_pages, and has the same bug: if get_user_pages got some but not all of the pages, then those got were released, but the positive res code returned implied that they were still to be freed. Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Douglas Gilbert <dougg@torque.net> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] sg and st unmap_user_pages allow PageReservedHugh Dickins2005-12-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2.6.15-rc1 made sg's st_unmap_user_pages and st's sgl_unmap_user_pages BUG on a PageReserved page. But that's wrong: they could be unmapping the ZERO_PAGE, which is marked PG_reserved; and perhaps others (while get_user_pages is still permitted on VM_PFNMAP areas - that may change). More change is needed here: sg claims to dirty even pages written from, and st claims not to dirty even pages read into; and SetPageDirty is not adequate for this nowadays. Fixes to those follow in a later patch: for the moment just fix the 2.6.15 regression. Signed-off-by: Hugh Dickins <hugh@veritas.com> Acked-by: Nick Piggin <npiggin@suse.de> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] st: fix a bug in sgl_map_user_pages failure path Hugh Dickins2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nick and I had already been looking at drivers/scsi/{sg.c,st.c}, brought there by __put_page in sg.c's peculiar sg_rb_correct4mmap, which we'd like to remove. But that's irrelevant to your pain, except... One extract from the patches I'd like to send Doug and Kai for 2.6.15 or 2.6.16 is this below: since the incomplete get_user_pages path omits to reset res, but has already released all the pages, it will result in premature freeing of user pages, and behaviour just like you've seen. Though I'd have thought incomplete get_user_pages was an exceptional case, and a bit surprised you'd encounter it. Perhaps there's some other premature freeing in the driver, and this instance has nothing whatever to do with it. If the problem were easily reproducible, it'd be great if you could try this patch; but I think you've said it's not :-( Signed-off-by: Kai Makisara <kai.makisara@kolumbus.fi> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] mptfusion : dv performance fixMoore, Eric Dean2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Syncronization for Domain Validation workqueue and the initiation of the alternate controller. Its possible that dv could be terminated if the workqueue on the 1st channel doesn complete in time before the 2nd channel begins initialization. Signed-off-by: Eric Moore <Eric.Moore@lsil.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] sym2: Disable IU and QAS negotiationMatthew Wilcox2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enabling these features causes problems with some drives, so disable them until they're debugged Signed-off-by: Matthew Wilcox <matthew@wil.cx> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] zfcp: fix return code of zfcp_scsi_slave_allocAndreas Herrmann2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change return code in slave_alloc to avoid irritating error message from scsi_alloc_sdev() when scsi stack tries target scan. Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] zfcp: fix link down handling during firmware updateMaxim Shchetynin2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't check link down payload in case of firmware update. Signed-off-by: Maxim Shchetynin <maxim@de.ibm.com> Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] zfcp: fix adapter initializationAndreas Herrmann2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed various problems in opening sequence of adapters which was previously changed with NPIV support: o corrected handling when exchange port data function is not supported, otherwise adapters on z900 cannot be opened anymore o corrected setup of timer for exchange port data if called from error recovery o corrected check of return code of exchange config data Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] zfcp: fix spinlock initializationHeiko Carstens2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move initialization of locks and lists to adapter allocation function. Otherwise we might end up with some uninitialized locks, like e.g. the erp locks which only will be inititialized if an error recovery thread for an adapter will be started. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] aacraid: Check scsi_bios_ptabe return codeMark Haverkamp2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Received from Mark Salyzyn. scsi_bios_ptable return value is not being checked in aac_biosparm. Signed-off-by: Mark Haverkamp <markh@osdl.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] SPI DV: be more conservative about echo buffer usageJames Bottomley2005-12-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some SCSI devices apparently get very confused if we try to use the echo buffer on a non-DT negotiated bus (this mirrors the problems of using PPR on non-LVD for some devices). The fix is to be far more conservative about when we use an echo buffer. With this patch, we'll now see what parameters are negotiated by the read only test, and only look for an echo buffer if DT is negotiated. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| | * | [SCSI] aic7xxx: reset handler selects a wrong commandVasily Averin2005-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To transport scsi reset command to device aic7xxx reset handler looks at the driver's pending_list and searches any proper command. However the search condition has been inverted: ahc_match_scb() returns TRUE if a matched command is found. As a result the reset on required devices did not turn out well, a correctly working neighbour device may be surprised by the reset. aic7xxx reset handler reports about the success, but really the original situation is not corrected yet. Signed-off-by: Vasily Averin <vvs@sw.ru> Naturally, there's a corresponding problem in the aic79xx driver, so I've also added the same fix for that. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * | | [PATCH] Fix TIF_POLLING_NRFLAG in ACPI idle routinesNick Piggin2005-12-02
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | Commit 64c7c8f88559624abdbe12b5da6502e8879f8d28 broke the ACPI C2 and C3 sleep states, because it left TIF_POLLING_NRFLAG active even though those states do not actually poll the reschedule flag at all. As a result, the CPU wouldn't get sent an IPI when it was to be woken up, and would only notice that it had runnable processes on the next timer tick. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | Merge branch 'for-linus' of ↵Linus Torvalds2005-12-01
| |\ \ | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband
| | * | IB/uverbs: track multicast group membership for userspace QPsJack Morgenstein2005-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | uverbs needs to track which multicast groups is each qp attached to, in order to properly detach when cleanup is performed on device file close. Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il> Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il> Signed-off-by: Roland Dreier <rolandd@cisco.com>