The patch titled Subject: linux-next-git-rejcts has been added to the -mm tree. Its filename is linux-next-git-rejcts.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/linux-next-git-rejcts.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/linux-next-git-rejcts.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> Subject: linux-next-git-rejcts Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- MAINTAINERS | 6 drivers/gpu/drm/i915/intel_dp_mst.c | 16 - drivers/gpu/drm/msm/adreno/a6xx_hfi.c | 20 -- drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 100 ---------- drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 12 - drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h | 9 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c | 3 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 4 drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c | 16 - drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h | 29 -- drivers/gpu/drm/msm/dsi/dsi_host.c | 4 drivers/staging/media/imx/imx-media-dev.c | 40 ---- drivers/staging/media/imx/imx-media-of.c | 6 net/bridge/br_multicast.c | 11 - 14 files changed, 276 deletions(-) --- a/drivers/gpu/drm/i915/intel_dp_mst.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/i915/intel_dp_mst.c @@ -77,11 +77,7 @@ static bool intel_dp_mst_compute_config( pipe_config->pbn = mst_pbn; /* Zombie connectors can't have VCPI slots */ -<<<<<<< HEAD - if (READ_ONCE(connector->registered)) { -======= if (!drm_connector_is_unregistered(connector)) { ->>>>>>> linux-next/akpm-base slots = drm_dp_atomic_find_vcpi_slots(state, &intel_dp->mst_mgr, port, @@ -317,11 +313,7 @@ static int intel_dp_mst_get_ddc_modes(st struct edid *edid; int ret; -<<<<<<< HEAD - if (!READ_ONCE(connector->registered)) -======= if (drm_connector_is_unregistered(connector)) ->>>>>>> linux-next/akpm-base return intel_connector_update_modes(connector, NULL); edid = drm_dp_mst_get_edid(connector, &intel_dp->mst_mgr, intel_connector->port); @@ -337,11 +329,7 @@ intel_dp_mst_detect(struct drm_connector struct intel_connector *intel_connector = to_intel_connector(connector); struct intel_dp *intel_dp = intel_connector->mst_port; -<<<<<<< HEAD - if (!READ_ONCE(connector->registered)) -======= if (drm_connector_is_unregistered(connector)) ->>>>>>> linux-next/akpm-base return connector_status_disconnected; return drm_dp_mst_detect_port(connector, &intel_dp->mst_mgr, intel_connector->port); @@ -384,11 +372,7 @@ intel_dp_mst_mode_valid(struct drm_conne int bpp = 24; /* MST uses fixed bpp */ int max_rate, mode_rate, max_lanes, max_link_clock; -<<<<<<< HEAD - if (!READ_ONCE(connector->registered)) -======= if (drm_connector_is_unregistered(connector)) ->>>>>>> linux-next/akpm-base return MODE_ERROR; if (mode->flags & DRM_MODE_FLAG_DBLSCAN) --- a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/adreno/a6xx_hfi.c @@ -91,11 +91,7 @@ static int a6xx_hfi_wait_for_ack(struct val & A6XX_GMU_GMU2HOST_INTR_INFO_MSGQ, 100, 5000); if (ret) { -<<<<<<< HEAD - dev_err(gmu->dev, -======= DRM_DEV_ERROR(gmu->dev, ->>>>>>> linux-next/akpm-base "Message %s id %d timed out waiting for response\n", a6xx_hfi_msg_id[id], seqnum); return -ETIMEDOUT; @@ -114,11 +110,7 @@ static int a6xx_hfi_wait_for_ack(struct /* If the queue is empty our response never made it */ if (!ret) { -<<<<<<< HEAD - dev_err(gmu->dev, -======= DRM_DEV_ERROR(gmu->dev, ->>>>>>> linux-next/akpm-base "The HFI response queue is unexpectedly empty\n"); return -ENOENT; @@ -128,32 +120,20 @@ static int a6xx_hfi_wait_for_ack(struct struct a6xx_hfi_msg_error *error = (struct a6xx_hfi_msg_error *) &resp; -<<<<<<< HEAD - dev_err(gmu->dev, "GMU firmware error %d\n", -======= DRM_DEV_ERROR(gmu->dev, "GMU firmware error %d\n", ->>>>>>> linux-next/akpm-base error->code); continue; } if (seqnum != HFI_HEADER_SEQNUM(resp.ret_header)) { -<<<<<<< HEAD - dev_err(gmu->dev, -======= DRM_DEV_ERROR(gmu->dev, ->>>>>>> linux-next/akpm-base "Unexpected message id %d on the response queue\n", HFI_HEADER_SEQNUM(resp.ret_header)); continue; } if (resp.error) { -<<<<<<< HEAD - dev_err(gmu->dev, -======= DRM_DEV_ERROR(gmu->dev, ->>>>>>> linux-next/akpm-base "Message %s id %d returned error %d\n", a6xx_hfi_msg_id[id], seqnum, resp.error); return -EINVAL; --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -53,11 +53,7 @@ static inline int _dpu_crtc_get_mixer_wi return mode->hdisplay / cstate->num_mixers; } -<<<<<<< HEAD -static inline struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc) -======= static struct dpu_kms *_dpu_crtc_get_kms(struct drm_crtc *crtc) ->>>>>>> linux-next/akpm-base { struct msm_drm_private *priv = crtc->dev->dev_private; @@ -817,38 +813,6 @@ static void _dpu_crtc_vblank_enable_no_l pm_runtime_put_sync(dev->dev); mutex_lock(&dpu_crtc->crtc_lock); } -<<<<<<< HEAD -} - -/** - * _dpu_crtc_set_suspend - notify crtc of suspend enable/disable - * @crtc: Pointer to drm crtc object - * @enable: true to enable suspend, false to indicate resume - */ -static void _dpu_crtc_set_suspend(struct drm_crtc *crtc, bool enable) -{ - struct dpu_crtc *dpu_crtc = to_dpu_crtc(crtc); - - DRM_DEBUG_KMS("crtc%d suspend = %d\n", crtc->base.id, enable); - - mutex_lock(&dpu_crtc->crtc_lock); - - /* - * If the vblank is enabled, release a power reference on suspend - * and take it back during resume (if it is still enabled). - */ - trace_dpu_crtc_set_suspend(DRMID(&dpu_crtc->base), enable, dpu_crtc); - if (dpu_crtc->suspend == enable) - DPU_DEBUG("crtc%d suspend already set to %d, ignoring update\n", - crtc->base.id, enable); - else if (dpu_crtc->enabled && dpu_crtc->vblank_requested) { - _dpu_crtc_vblank_enable_no_lock(dpu_crtc, !enable); - } - - dpu_crtc->suspend = enable; - mutex_unlock(&dpu_crtc->crtc_lock); -======= ->>>>>>> linux-next/akpm-base } /** @@ -880,46 +844,6 @@ static struct drm_crtc_state *dpu_crtc_d return &cstate->base; } -<<<<<<< HEAD -/** - * dpu_crtc_reset - reset hook for CRTCs - * Resets the atomic state for @crtc by freeing the state pointer (which might - * be NULL, e.g. at driver load time) and allocating a new empty state object. - * @crtc: Pointer to drm crtc structure - */ -static void dpu_crtc_reset(struct drm_crtc *crtc) -{ - struct dpu_crtc *dpu_crtc; - struct dpu_crtc_state *cstate; - - if (!crtc) { - DPU_ERROR("invalid crtc\n"); - return; - } - - /* revert suspend actions, if necessary */ - if (dpu_kms_is_suspend_state(crtc->dev)) - _dpu_crtc_set_suspend(crtc, false); - - /* remove previous state, if present */ - if (crtc->state) { - dpu_crtc_destroy_state(crtc, crtc->state); - crtc->state = 0; - } - - dpu_crtc = to_dpu_crtc(crtc); - cstate = kzalloc(sizeof(*cstate), GFP_KERNEL); - if (!cstate) { - DPU_ERROR("failed to allocate state\n"); - return; - } - - cstate->base.crtc = crtc; - crtc->state = &cstate->base; -} - -======= ->>>>>>> linux-next/akpm-base static void dpu_crtc_handle_power_event(u32 event_type, void *arg) { struct drm_crtc *crtc = arg; @@ -973,12 +897,7 @@ static void dpu_crtc_disable(struct drm_ atomic_read(&dpu_crtc->frame_pending)); trace_dpu_crtc_disable(DRMID(crtc), false, dpu_crtc); -<<<<<<< HEAD - if (dpu_crtc->enabled && !dpu_crtc->suspend && - dpu_crtc->vblank_requested) { -======= if (dpu_crtc->enabled && dpu_crtc->vblank_requested) { ->>>>>>> linux-next/akpm-base _dpu_crtc_vblank_enable_no_lock(dpu_crtc, false); } dpu_crtc->enabled = false; @@ -1044,12 +963,7 @@ static void dpu_crtc_enable(struct drm_c mutex_lock(&dpu_crtc->crtc_lock); trace_dpu_crtc_enable(DRMID(crtc), true, dpu_crtc); -<<<<<<< HEAD - if (!dpu_crtc->enabled && !dpu_crtc->suspend && - dpu_crtc->vblank_requested) { -======= if (!dpu_crtc->enabled && dpu_crtc->vblank_requested) { ->>>>>>> linux-next/akpm-base _dpu_crtc_vblank_enable_no_lock(dpu_crtc, true); } dpu_crtc->enabled = true; @@ -1304,25 +1218,11 @@ end: int dpu_crtc_vblank(struct drm_crtc *crtc, bool en) { -<<<<<<< HEAD - struct dpu_crtc *dpu_crtc; - - if (!crtc) { - DPU_ERROR("invalid crtc\n"); - return -EINVAL; - } - dpu_crtc = to_dpu_crtc(crtc); - - mutex_lock(&dpu_crtc->crtc_lock); - trace_dpu_crtc_vblank(DRMID(&dpu_crtc->base), en, dpu_crtc); - if (dpu_crtc->enabled && !dpu_crtc->suspend) { -======= struct dpu_crtc *dpu_crtc = to_dpu_crtc(crtc); mutex_lock(&dpu_crtc->crtc_lock); trace_dpu_crtc_vblank(DRMID(&dpu_crtc->base), en, dpu_crtc); if (dpu_crtc->enabled) { ->>>>>>> linux-next/akpm-base _dpu_crtc_vblank_enable_no_lock(dpu_crtc, en); } dpu_crtc->vblank_requested = en; --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c @@ -1032,7 +1032,6 @@ static void dpu_encoder_virt_mode_set(st if (!dpu_enc->hw_pp[i]) { DPU_ERROR_ENC(dpu_enc, "no pp block assigned" "at idx: %d\n", i); -<<<<<<< HEAD return; } @@ -1042,17 +1041,6 @@ static void dpu_encoder_virt_mode_set(st return; } -======= - return; - } - - if (!hw_ctl[i]) { - DPU_ERROR_ENC(dpu_enc, "no ctl block assigned" - "at idx: %d\n", i); - return; - } - ->>>>>>> linux-next/akpm-base phys->hw_pp = dpu_enc->hw_pp[i]; phys->hw_ctl = hw_ctl[i]; --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_cmd.c @@ -852,9 +852,6 @@ struct dpu_encoder_phys *dpu_encoder_phy return phys_enc; -<<<<<<< HEAD fail: -======= ->>>>>>> linux-next/akpm-base return ERR_PTR(ret); } --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys.h @@ -114,11 +114,6 @@ struct dpu_encoder_virt_ops { * @handle_post_kickoff: Do any work necessary post-kickoff work * @trigger_start: Process start event on physical encoder * @needs_single_flush: Whether encoder slaves need to be flushed -<<<<<<< HEAD - * @hw_reset: Issue HW recovery such as CTL reset and clear - * DPU_ENC_ERR_NEEDS_HW_RESET state -======= ->>>>>>> linux-next/akpm-base * @irq_control: Handler to enable/disable all the encoder IRQs * @prepare_idle_pc: phys encoder can update the vsync_enable status * on idle power collapse prepare @@ -154,10 +149,6 @@ struct dpu_encoder_phys_ops { void (*handle_post_kickoff)(struct dpu_encoder_phys *phys_enc); void (*trigger_start)(struct dpu_encoder_phys *phys_enc); bool (*needs_single_flush)(struct dpu_encoder_phys *phys_enc); -<<<<<<< HEAD - void (*hw_reset)(struct dpu_encoder_phys *phys_enc); -======= ->>>>>>> linux-next/akpm-base void (*irq_control)(struct dpu_encoder_phys *phys, bool enable); void (*prepare_idle_pc)(struct dpu_encoder_phys *phys_enc); void (*restore)(struct dpu_encoder_phys *phys); --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c @@ -766,10 +766,6 @@ static void dpu_encoder_phys_vid_init_op ops->prepare_for_kickoff = dpu_encoder_phys_vid_prepare_for_kickoff; ops->handle_post_kickoff = dpu_encoder_phys_vid_handle_post_kickoff; ops->needs_single_flush = dpu_encoder_phys_vid_needs_single_flush; -<<<<<<< HEAD - ops->hw_reset = dpu_encoder_helper_hw_reset; -======= ->>>>>>> linux-next/akpm-base ops->get_line_count = dpu_encoder_phys_vid_get_line_count; } --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c @@ -1193,24 +1193,8 @@ static void dpu_plane_destroy(struct drm static void dpu_plane_destroy_state(struct drm_plane *plane, struct drm_plane_state *state) { -<<<<<<< HEAD - struct dpu_plane_state *pstate; - - if (!plane || !state) { - DPU_ERROR("invalid arg(s), plane %d state %d\n", - plane != 0, state != 0); - return; - } - - pstate = to_dpu_plane_state(state); - - __drm_atomic_helper_plane_destroy_state(state); - - kfree(pstate); -======= __drm_atomic_helper_plane_destroy_state(state); kfree(to_dpu_plane_state(state)); ->>>>>>> linux-next/akpm-base } static struct drm_plane_state * --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/disp/dpu1/dpu_trace.h @@ -749,10 +749,6 @@ TRACE_EVENT(dpu_crtc_vblank_enable, __field( uint32_t, enc_id ) __field( bool, enable ) __field( bool, enabled ) -<<<<<<< HEAD - __field( bool, suspend ) -======= ->>>>>>> linux-next/akpm-base __field( bool, vblank_requested ) ), TP_fast_assign( @@ -760,20 +756,12 @@ TRACE_EVENT(dpu_crtc_vblank_enable, __entry->enc_id = enc_id; __entry->enable = enable; __entry->enabled = crtc->enabled; -<<<<<<< HEAD - __entry->suspend = crtc->suspend; -======= ->>>>>>> linux-next/akpm-base __entry->vblank_requested = crtc->vblank_requested; ), TP_printk("id:%u encoder:%u enable:%s state{enabled:%s vblank_req:%s}", __entry->drm_id, __entry->enc_id, __entry->enable ? "true" : "false", __entry->enabled ? "true" : "false", -<<<<<<< HEAD - __entry->suspend ? "true" : "false", -======= ->>>>>>> linux-next/akpm-base __entry->vblank_requested ? "true" : "false") ); @@ -784,36 +772,19 @@ DECLARE_EVENT_CLASS(dpu_crtc_enable_temp __field( uint32_t, drm_id ) __field( bool, enable ) __field( bool, enabled ) -<<<<<<< HEAD - __field( bool, suspend ) -======= ->>>>>>> linux-next/akpm-base __field( bool, vblank_requested ) ), TP_fast_assign( __entry->drm_id = drm_id; __entry->enable = enable; __entry->enabled = crtc->enabled; -<<<<<<< HEAD - __entry->suspend = crtc->suspend; -======= ->>>>>>> linux-next/akpm-base __entry->vblank_requested = crtc->vblank_requested; ), TP_printk("id:%u enable:%s state{enabled:%s vblank_req:%s}", __entry->drm_id, __entry->enable ? "true" : "false", __entry->enabled ? "true" : "false", -<<<<<<< HEAD - __entry->suspend ? "true" : "false", __entry->vblank_requested ? "true" : "false") ); -DEFINE_EVENT(dpu_crtc_enable_template, dpu_crtc_set_suspend, - TP_PROTO(uint32_t drm_id, bool enable, struct dpu_crtc *crtc), - TP_ARGS(drm_id, enable, crtc) -======= - __entry->vblank_requested ? "true" : "false") ->>>>>>> linux-next/akpm-base -); DEFINE_EVENT(dpu_crtc_enable_template, dpu_crtc_enable, TP_PROTO(uint32_t drm_id, bool enable, struct dpu_crtc *crtc), TP_ARGS(drm_id, enable, crtc) --- a/drivers/gpu/drm/msm/dsi/dsi_host.c~linux-next-git-rejcts +++ a/drivers/gpu/drm/msm/dsi/dsi_host.c @@ -1757,11 +1757,7 @@ static int dsi_host_parse_dt(struct msm_ /* Get panel node from the output port's endpoint data */ device_node = of_graph_get_remote_node(np, 1, 0); if (!device_node) { -<<<<<<< HEAD - dev_dbg(dev, "%s: no valid device\n", __func__); -======= DRM_DEV_DEBUG(dev, "%s: no valid device\n", __func__); ->>>>>>> linux-next/akpm-base ret = -ENODEV; goto err; } --- a/drivers/staging/media/imx/imx-media-dev.c~linux-next-git-rejcts +++ a/drivers/staging/media/imx/imx-media-dev.c @@ -54,39 +54,6 @@ int imx_media_add_async_subdev(struct im &imxmd->notifier, fwnode, sizeof(*imxasd)); } else { devname = dev_name(&pdev->dev); -<<<<<<< HEAD - - /* return -EEXIST if this asd already added */ - if (find_async_subdev(imxmd, fwnode, devname)) { - if (np) - dev_dbg(imxmd->md.dev, "%s: already added %pOFn\n", - __func__, np); - else - dev_dbg(imxmd->md.dev, "%s: already added %s\n", - __func__, devname); - ret = -EEXIST; - goto out; - } - - imxasd = devm_kzalloc(imxmd->md.dev, sizeof(*imxasd), GFP_KERNEL); - if (!imxasd) { - ret = -ENOMEM; - goto out; - } - asd = &imxasd->asd; - - if (fwnode) { - asd->match_type = V4L2_ASYNC_MATCH_FWNODE; - asd->match.fwnode = fwnode; - dev_dbg(imxmd->md.dev, "%s: added %pOFn, match type FWNODE\n", - __func__, np); - } else { - asd->match_type = V4L2_ASYNC_MATCH_DEVNAME; - asd->match.device_name = devname; - imxasd->pdev = pdev; - dev_dbg(imxmd->md.dev, "%s: added %s, match type DEVNAME\n", - __func__, devname); -======= asd = v4l2_async_notifier_add_devname_subdev( &imxmd->notifier, devname, sizeof(*imxasd)); } @@ -102,7 +69,6 @@ int imx_media_add_async_subdev(struct im __func__, devname); } return ret; ->>>>>>> linux-next/akpm-base } imxasd = to_imx_media_asd(asd); @@ -110,11 +76,6 @@ int imx_media_add_async_subdev(struct im if (devname) imxasd->pdev = pdev; -<<<<<<< HEAD -out: - mutex_unlock(&imxmd->mutex); - return ret; -======= if (fwnode) dev_dbg(imxmd->md.dev, "%s: added %pOFn, match type FWNODE\n", __func__, np); @@ -123,7 +84,6 @@ out: __func__, devname); return 0; ->>>>>>> linux-next/akpm-base } /* --- a/drivers/staging/media/imx/imx-media-of.c~linux-next-git-rejcts +++ a/drivers/staging/media/imx/imx-media-of.c @@ -24,15 +24,9 @@ static int of_add_csi(struct imx_media_d { int ret; -<<<<<<< HEAD - if (!of_device_is_available(sd_np)) { - dev_dbg(imxmd->md.dev, "%s: %pOFn not enabled\n", __func__, - sd_np); -======= if (!of_device_is_available(csi_np)) { dev_dbg(imxmd->md.dev, "%s: %pOFn not enabled\n", __func__, csi_np); ->>>>>>> linux-next/akpm-base /* unavailable is not an error */ return 0; } --- a/MAINTAINERS~linux-next-git-rejcts +++ a/MAINTAINERS @@ -9700,8 +9700,6 @@ L: netdev@xxxxxxxxxxxxxxx S: Maintained F: drivers/net/ethernet/microchip/lan743x_* -<<<<<<< HEAD -======= MICROCHIP LCDFB DRIVER M: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx> L: linux-fbdev@xxxxxxxxxxxxxxx @@ -9709,7 +9707,6 @@ S: Maintained F: drivers/video/fbdev/atmel_lcdfb.c F: include/video/atmel_lcdc.h ->>>>>>> linux-next/akpm-base MICROCHIP / ATMEL MCP3911 ADC DRIVER M: Marcus Folkesson <marcus.folkesson@xxxxxxxxx> M: Kent Gustavsson <kent@xxxxxxxxxx> @@ -9718,8 +9715,6 @@ S: Supported F: drivers/iio/adc/mcp3911.c F: Documentation/devicetree/bindings/iio/adc/mcp3911.txt -<<<<<<< HEAD -======= MICROCHIP MMC/SD/SDIO MCI DRIVER M: Ludovic Desroches <ludovic.desroches@xxxxxxxxxxxxx> S: Maintained @@ -9779,7 +9774,6 @@ L: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx S: Supported F: drivers/usb/gadget/udc/atmel_usba_udc.* ->>>>>>> linux-next/akpm-base MICROCHIP USB251XB DRIVER M: Richard Leitner <richard.leitner@xxxxxxxxxxx> L: linux-usb@xxxxxxxxxxxxxxx --- a/net/bridge/br_multicast.c~linux-next-git-rejcts +++ a/net/bridge/br_multicast.c @@ -1422,18 +1422,7 @@ static void br_multicast_query_received( return; br_multicast_update_query_timer(br, query, max_delay); -<<<<<<< HEAD - - /* Based on RFC4541, section 2.1.1 IGMP Forwarding Rules, - * the arrival port for IGMP Queries where the source address - * is 0.0.0.0 should not be added to router port list. - */ - if ((saddr->proto == htons(ETH_P_IP) && saddr->u.ip4) || - saddr->proto == htons(ETH_P_IPV6)) - br_multicast_mark_router(br, port); -======= br_multicast_mark_router(br, port); ->>>>>>> linux-next/akpm-base } static void br_ip4_multicast_query(struct net_bridge *br, _ Patches currently in -mm which might be from akpm@xxxxxxxxxxxxxxxxxxxx are arm-arch-arm-include-asm-pageh-needs-personalityh.patch fix-clusters-leak-in-ocfs2_defrag_extent-fix.patch mm.patch memory_hotplug-free-pages-as-higher-order-fix.patch list_lru-prefetch-neighboring-list-entries-before-acquiring-lock-fix.patch lib-bitmapc-fix-remaining-space-computation-in-bitmap_print_to_pagebuf-fix.patch lib-bitmapc-fix-remaining-space-computation-in-bitmap_print_to_pagebuf-fix-fix.patch ipc-allow-boot-time-extension-of-ipcmni-from-32k-to-8m-checkpatch-fixes.patch linux-next-rejects.patch memblock-stop-using-implicit-alignement-to-smp_cache_bytes-checkpatch-fixes.patch memblock-warn-if-zero-alignment-was-requested-fix-fix.patch kernel-forkc-export-kernel_thread-to-modules.patch slab-leaks3-default-y.patch linux-next-git-rejcts.patch